php中 重載(二)

接著上一次說的重載,我們瞭解下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();
以上是學習的時候參考的例子,分下下…..如果有疑問,我們可以討論

發佈留言