接著上一次說的重載,我們了解下php中的重載,方法的重載,如果有管重載定義,參考:php中 重載(一)這個文章,謝謝.作為初學者,大牛勿噴:
基本是兩個方法
__call,當調用對一個不可訪問的對象方法時,會自動執行該魔術方法!(對象調用)
典型的兩種處理方式:
1,給出友好的提示!
2,執行默認操作!
__callstatic,當調用一個不可訪問的靜態方法時,會自動執行該魔術方法!
詳細代碼:
class Student {
public $name = 'php';
public $age = 10;
public function sayName() {
return $this->name;
}
/**
* @param $method_name string 方法名
* @param $method_arguments array 調用時攜帶的參數
*/
public function __call($method_name, $method_arguments) {
echo '
抱歉, 你調用的方法不存在!,你應該調用(***)方法!';
$this->defaultAction();//執行默認的方法,可以做跳轉用,實現redirect
}
public function defaultAction() {
echo '
這裡是默認動作!';
}
public static function __callStatic($m_name, $m_args) {
echo '這裡是靜態的方法重載!';
}
}
Student::sayCounter();
以上是學習的時候參考的例子,分下下.....如果有疑問,我們可以討論