您好,欢迎访问一九零五行业门户网

PHP中__callStatic()方法详解

php中把以两个下划线__开头的方法称为魔术方法(magic methods),这些方法在php中充当了举足轻重的作用。
相关:《php中__construct(),类的构造函数详解》《php中__destruct(),类的析构函数》《php中__call()方法详解》
php中__callstatic(),用静态方式中调用一个不可访问方法时调用
此方法与上面所说的 __call() 功能除了 __callstatic() 是未静态方法准备的之外,其它都是一样的。
请看下面代码:
<?phpclass person{ function say() { echo "hello, world!<br>"; } /** * 声明此方法用来处理调用对象中不存在的方法 */ public static function __callstatic($funname, $arguments) { echo "你所调用的静态方法:" . $funname . "(参数:" ; // 输出调用不存在的方法名 print_r($arguments); // 输出调用不存在的方法时的参数列表 echo ")不存在!<br>\n"; // 结束换行 }}$person = new person();$person::run("teacher"); // 调用对象中不存在的方法,则自动调用了对象中的__call()方法$person::eat("小明", "苹果");$person->say();
运行结果如下:
你所调用的静态方法:run(参数:array ( [0] => teacher ) )不存在!你所调用的静态方法:eat(参数:array ( [0] => 小明 [1] => 苹果 ) )不存在!hello, world!
其它类似信息

推荐信息