Callback 类型

最后更新于:2022-04-02 02:32:13

[TOC] ## 示例 ``` function my_callback_function() { echo 'hello world!'; } class MyClass { static function myCallbackMethod() { echo 'Hello World!'; } } // 类型1:简单回调 call_user_func('my_callback_function'); //类型2:静态类方法调用 call_user_func(array('MyClass', 'myCallbackMethod')); //类型3:对象方法调用 $obj = new MyClass(); call_user_func(array($obj, 'myCallbackMethod')); array_map([$this,myCallbackMethod],$arr); // 类型4:静态类方法调用 call_user_func('MyClass::myCallbackMethod'); // 类型5:相对静态类方法调用 class A { public static function who() { echo "A\n"; } } class B extends A { public static function who() { echo "B\n"; } } call_user_func(array('B', 'parent::who')); // A //类型6:实现剩余调用的对象可以用作可调用对象(因为PHP 5.3) class C { public function __invoke($name) { echo 'Hello ', $name, "\n"; } } $c = new C(); call_user_func($c, 'PHP!'); ```
';