龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

5.5 具有动态特性的静态方法――《PHP高级程序设计:模式、框架和测试》

时间:2009-12-17 12:00来源:未知 作者:admin 点击:
分享到:
5.5 具有动态特性的静态方法 __call()函数可用来创建任意匹配类型的方法,这种方法可以处理调用类的未定义方法的情况。方法的参数是被调用的方法的名称以及传递给该方法的参数数组

5.5 具有动态特性的静态方法

__call()函数可用来创建任意匹配类型的方法,这种方法可以处理调用类的未定义方法的情况。方法的参数是被调用的方法的名称以及传递给该方法的参数数组。现在可以用和__call方法一样的方式创建具有动态特性的静态方法。在PHP 6中,静态功能是通过实现魔术方法__callStatic()来完成的,如代码清单5-14所示。

代码清单5-14 为具有动态特性的静态方法使用__callStatic方法

class MyClass {

public static function __callStatic($name, $parameters) {

echo $name .' method called. Parameters: '. PHP_EOL .

var_export($parameters, true) . PHP_EOL;

}

}

MyClass::bogus(1, false, 'a');

bogus method called. Parameters:

array (

0 => 1,

1 => false,

2 => 'a',

)

精彩图集

赞助商链接