1. 程式人生 > >php中怎麽使用call_user_func動態調用方法

php中怎麽使用call_user_func動態調用方法

echo 第一個 自動調用 -m 獲得 new 需要 abc func

php中可使用call_user_func進行方法的動態調用,可以動態調用普通函數、類方法以及帶參數的類方法
1.定義一個普通函數getCurrentDate,用於獲取今天日期。
call_user_func帶上的參數為要被調用的函數名
fucntion getCurrentDate(){
echo ‘getCurrentDate:‘ . date(‘Y-m-d‘);
}
call_user_func(‘getCurrentDate‘);


程序會自動執行getCurrentDate函數並獲得期望的結果
getCurrentDate:2016-04-13


2.定義一個類Cls53及類方法getTitle,call_user_func的輸入參數變為一個數組,數組第一個元素為對象名、第二個元素為類方法名。

class Cls53{
public function getTitle(){
echo ‘title‘;
}
}


$cls = new Cls53();
call_user_func(array($cls,‘getTitle‘));


程序會自動調用對象cls的方法getTitle並獲得期望的結果
title


3.也可調用帶參數的方法,此時將getTitle方法改為getTitle($title).
調用時,加上第二個參數,就是需要傳給方法的參數
class Cls53{
public function getTitle($title){
echo $title;
}
}


$cls = new Cls53();
call_user_func(array($cls,‘getTitle‘),‘abc‘);


傳入的參數是abc,可獲得期望的結果:
abc

php中怎麽使用call_user_func動態調用方法