If you need to call just function with parameters:
call_user_func_array('Foo',$args);
If you need to call CLASS method (NOT object):
call_user_func_array(array('class', 'Foo'),$args);
If you need to call OBJECT method:
call_user_func_array(array(&$Object, 'Foo'),$args);
If you need to call method of object of object:
call_user_func_array(array(&$Object->Object, 'Foo'),$args);
If you need to call object method from within the very same object (NOT CLASS!):
call_user_func_array(array(&$this, 'Foo'),args);
實例:
class Test {
public $func;
function callback($var) {
echo $var;
}
}
class Test1 {
public $prop;
public function test($var) {
echo $var;
}
}
$obj = new Test();
call_user_func_array(array(&$obj, 'callback'), array(1));
$obj->func = new Test1();
call_user_func_array(array(&$obj->func, 'test'), array(11));
總結二:
$args = func_get_args();
call_user_func_array(array('parent', '__construct'), $args);
子類可以調用父類而不必在意參數
實例
error_reporting('E_STRICT');
class A {
public function __construct($aa, $bb, $cc, $dd) {
echo $aa.$bb;
}
}
class B extends A {
public function __construct() {
$args = func_get_args();
call_user_func_array(array('parent', '__construct'), $args);
//parent::__construct($aa, $bb);
}
}
$obj = new B(1, 2);
call_user_func_array 總結
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
Linux基本操作命令
wbzjacky
2019-02-24 13:12:38
真實的模擬***綜合實驗
wbzjacky
2019-02-24 13:12:37
全方位深度剖析PHP7底层源码
wy53780
2020-04-23 15:39:33
Redis主從複製以及主從複製原理
LoyaltyLu
2019-02-24 23:12:38
nginx+php執行請求的工作原理
xavier
2019-02-24 15:52:41
配置Nginx支持php,出現No input file specified錯誤的解決方法
lvqingpu
2019-02-24 13:15:35
如果同事暗中傷害你,應該怎麼辦?
這個饅頭有餡
2019-02-24 13:59:08
職場中,抱怨越多的員工,越被領導瞧不起!
這個饅頭有餡
2019-02-24 13:59:08
老程序員被裁,應屆生卻能月薪 1.3 萬?這你能忍?
前端高達
2019-02-24 13:48:04
遇到到處蹭吃卻從不請客吃飯的主怎麼辦?
樑軍年
2019-02-24 13:26:35
高標準機房綜合配線安裝
wbzjacky
2019-02-24 13:12:38
IPsec ***實驗
wbzjacky
2019-02-24 13:12:37
24小時熱門文章
-
Power Automate Desktop 安裝完,登錄後老是提示one driver 錯誤
-
再談23種設計模式(3):行爲型模式(學習筆記)
-
微前端學習筆記(4):從微前端到微模塊之EMP與hel-micro方案探索
-
微前端學習筆記(1):微前端總體架構概述,從微服務發微
-
985 碩士程序員,空窗 4 個月沒有 Offer!
-
一文搞懂 Spring 循環依賴
-
賽博鬥地主——使用大語言模型扮演Agent智能體玩牌類遊戲。
-
VScode右鍵打開(添加到右鍵)
-
記一次 .NET某工控視覺自動化系統 卡死分析
-
WindowsServer--SQL Server搭建主從同步實現讀寫分離 - 事務性分發