站长论坛

标题: 《PHP高级程序设计:模式、框架和测试》——5.5 具有动态特性的静态方法 [打印本页]

作者: superadmin    时间: 2009-8-3 10:09
标题: 《PHP高级程序设计:模式、框架和测试》——5.5 具有动态特性的静态方法
5.5 具有动态特性的静态方法

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

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

<?php

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',

)




欢迎光临 站长论坛 (http://www.tzlink.com/bbs/) Powered by Discuz! X3.2