`
zccst
  • 浏览: 3323180 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

php魔术方法call详解

 
阅读更多
作者:zccst

class Caller
{
    private $x = array(1, 2, 3);

    public function __call($m, $a)
    {
        print "Method $m called:n";
        var_dump($a);
        return $this->x;
    }
}

$foo = new Caller();
$a = $foo->test(1, "2", 3.4, true);
var_dump($a);



输出结果:
Method test called:n

array
  0 => int 1
  1 => string '2' (length=1)
  2 => float 3.4
  3 => boolean true

array
  0 => int 1
  1 => int 2
  2 => int 3


批注:
__call()  是PHP里的一个魔术方法,当你调用一个类里的方法,而该方法又不存在里,就会自动调用__call() ;
分享到:
评论

相关推荐

    PHP 魔术方法整理

    ### PHP魔术方法详解 #### 一、概述 在PHP中,魔术方法是一组特殊的方法,它们具有特定的名称,可以在特定的情况下自动触发。魔术方法在PHP的开发中扮演着非常重要的角色,尤其对于面向对象编程而言,它们提供了一...

    PHP 魔术变量和魔术函数详解_.docx

    除了魔术变量,PHP还有魔术函数,如`__construct()`用于对象的构造,`__destruct()`用于对象销毁,`__get()`和`__set()`处理未定义的属性访问,`__call()`和`__callStatic()`处理未定义的方法调用等。这些函数可以...

    php 魔术方法详解

    在PHP面向对象编程中,魔术方法是一种特殊的方法,它们由特定的前缀和名称来定义,这些方法会在特定的事件发生时自动调用。魔术方法对于新手和有经验的开发者来说都非常重要,因为它们提供了一种便捷的方式来处理...

    php常见的魔术方法详解

    PHP中的魔术方法是在对象中自动调用的特殊方法,它们以两个下划线(__)开头。在PHP中定义了许多魔术方法,它们具有特定的用途和行为模式。以下详细解析PHP中常见的魔术方法及其应用: 1. __construct:构造方法,...

    PHP高级教程php详解

    7. 魔术方法:PHP提供了一系列以两个下划线开头的特殊方法,如__get、__set、__call等,它们在特定情况下自动调用,帮助处理一些元编程任务。 三、面向对象的其他特性 1. 封装:通过访问控制,可以隐藏类的内部实现...

    深入PHP5中的魔术方法详解

    在PHP5中,魔术方法是一类特殊的方法,它们在特定的情况下自动被调用。这些方法都以双下划线`__`开头,用来增强类的行为,提供对特定操作的自定义处理。下面是对这些魔术方法的详细解释: 1. **__get() 和 __set()*...

    php魔术变量用法实例详解

    PHP中比较常用的魔术方法包括:__construct()、__destruct()、__call()、__callStatic()、__get()、__set()、__isset()、__unset()、__sleep()、__wakeup()、__toString()、__invoke()、__set_state()、__clone() 和...

    php5面向对象详解.pdf

    `__call()`魔术方法是当尝试调用一个不可访问或不存在的方法时调用的。这个方法非常有用,因为它可以拦截所有对对象不可见的方法调用,允许开发者定义相应的逻辑处理。它接受两个参数,第一个是方法名,第二个是一个...

    php5面向对象详解

    17. **__call()**:处理调用不存在的方法时,会触发此魔术方法。 18. **自动加载类**:通过spl_autoload_register()函数注册自动加载函数,避免手动require或include类文件。 19. **对象串行化**:序列化...

    php面向对象基础详解【星际争霸游戏案例】

    PHP中的重载主要包括重载属性(魔术方法`__get`和`__set`)和重载方法(`__call`)。这些方法允许在访问不存在的属性或调用不存在的方法时执行自定义操作。在星际争霸游戏中,如果想动态添加机枪兵的新能力,可以...

    php魔术函数

    ### PHP魔术函数详解 在PHP编程中,魔术函数是一组特殊的方法,它们可以在特定的情况下自动被调用。这些函数之所以被称为“魔术”,是因为它们的行为似乎是由PHP解释器自动触发的,而无需程序员显式地调用。下面...

    PHP魔术方法以及关于独立实例与相连实例的全面讲解

    2. **__call()**: 当尝试调用对象上不存在的方法时,这个魔术方法会被触发。它允许你在类中创建一个统一的错误处理机制,防止因调用不存在的方法而引发错误。 3. **__construct()**: 这是类的构造函数,当创建新的...

    PHP面向对象程序设计方法实例详解

    PHP中的参数重载通常是通过魔术方法`__call`实现的,当方法不存在时,`__call`会被调用,可以根据参数类型或数量进行不同的处理。 迭代器允许遍历对象中的元素。在PHP中,`foreach`语句可以用于遍历对象的公共属性...

Global site tag (gtag.js) - Google Analytics