feiyuanqiu
2015-01-15 16:44:13 +08:00
:: 在php里表示调用静态方法、变量、类常量等,如:
static $test;
const TEST_CONST = 1;
static function testFunc() {}
self::$test = '2'; // 调用静态类变量
if (self::TEST_CONST == $test) {} // 调用类常量
self::testFunc();
PHP里把一个函数作为参数是这样的:
1、call_user_func('test'); // 如果是函数,直接传函数名
2-0、array_map(array(__CLASS__, 'test'), $array); // 静态方法传类名及方法名
2-1、array_map(__CLASS__ . '::test', $array); // 或者只传一个字符串
3、array_filter($array, array($this, 'test')); // 非静态方法需要传一个类实例及方法名
4、register_shutdown_function(function () { echo 'no!'; }); // PHP 5.3.0开始支持匿名函数
这就是为什么 test 不加 () 的原因。