評等結果
點擊便能為這篇文章進行評等!
[評等總次數: 0,平均評等: 0]
再來介紹一個 魔術方法 __call ,當你生成一個物件後呼叫到你沒有定義的方法時就會觸發 __call 這個方法。
//__call 呼叫到不存在的方法後 會觸發到此方法 class People { private $height;//身高 private $weight;//體重 protected $sex;//姓別 要改成 保護 子類別才可以變更它的值 function set_height($height1) { $this->height = $height1;} function set_weight($weight1) {$this->weight = $weight1;} function set_sex($sex1) {$this->sex = $sex1;} function get_height() {return $this->height;} function get_weight() {return $this->weight;} function get_sex() {return $this->sex;} function __call($fun, $args) { print_r([$fun, $args]); } } $jeff = new People(); $jeff->set_height(170); $jeff->set_weight(65); $jeff->set_sex('male'); $jeff->set_action('sit'); echo '<br>jeff 的身高是:'; echo $jeff->get_height(); echo '<br>jeff 的體重是:'; echo $jeff->get_weight(); echo '<br>jeff 的姓別是:'; echo $jeff->get_sex(); echo '<br>jeff 的動作是:'; echo $jeff->get_action(); //顯示結果 /* Array ( [0] => set_action [1] => Array ( [0] => sit ) ) jeff 的身高是:170 jeff 的體重是:65 jeff 的姓別是:male jeff 的動作是:Array ( [0] => get_action [1] => Array ( ) ) */
它回傳的資料結構就是一個陣列
array(
不存在的方法名稱,
array(
‘參數1’,
‘參數2’,
‘參數3’
)
)
評等結果
點擊便能為這篇文章進行評等!
[評等總次數: 0,平均評等: 0]