php回调函数如何执行顺序,PHP回调函数调用方式
//PHP回調(diào)函數(shù)調(diào)用方式
// 類MyClass
class MyClass {
//靜態(tài)方法
public static function myCallbackMethod() {
echo "靜態(tài)方法\n";
}
}
// 回調(diào)函數(shù)
function my_callback_function() {
echo "普通函數(shù)\n";
}
// 方式 1: 普通函數(shù)調(diào)用
call_user_func('my_callback_function');
// 方式2: 類名稱方式,調(diào)用靜態(tài)方法
call_user_func(array('MyClass', 'myCallbackMethod'));
// 方式3: 對象方式,調(diào)用靜態(tài)方法
$obj = new MyClass();
call_user_func(array($obj, 'myCallbackMethod'));
// 方式4: 類名稱直接靜態(tài)方法調(diào)用 (As of PHP 5.2.3)
call_user_func('MyClass::myCallbackMethod');
// 方式5: 繼承方式靜態(tài)方法調(diào)用 (As of PHP 5.3.0)
class A {
public static function funcA() {
echo "我是父類A\n";
}
}
class B extends A {
//靜態(tài)方法,帶參數(shù)
public static function funcB($str) {
echo "我是子類B ".$str." \n";
}
//靜態(tài)方法
public static function test(){
//回調(diào)類內(nèi)部靜態(tài)方法
call_user_func(array(__CLASS__,'funcB'),' 我是參數(shù)');
}
}
//類名方式
call_user_func(array('B', 'funcB'),' 我是參數(shù)'); //輸出子類B
//類名方式
call_user_func(array('B', 'parent::funcA')); //輸出父類 A
//對象方式
$obj=new B();
call_user_func(array($obj, 'parent::funcA')); //輸出父類 A
//回調(diào)類內(nèi)部靜態(tài)方法
B::test();
/**********************
輸出:
普通函數(shù)
靜態(tài)方法
靜態(tài)方法
靜態(tài)方法
我是子類B 我是參數(shù)
我是父類A
我是父類A
我是子類B 我是參數(shù)
********************* */
總結(jié)
以上是生活随笔為你收集整理的php回调函数如何执行顺序,PHP回调函数调用方式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 环境配置 mac_Java:配
- 下一篇: php global global,PH