評等結果
點擊便能為這篇文章進行評等!
[評等總次數: 0,平均評等: 0]
debug_backtrace() 常用在除錯可以看到執行的歷程,也可以用在發生錯誤時寫入你的error_log。
class ck { private $budget;//預算 private $buy_status = false;//菜買了嗎? private $preapare_status = false;//備好菜了嗎? private $cooking_tatus = false;//煮好菜了嗎? private function buy(){ //最少要有500塊才夠買菜 return $this->buy_status = $this->budget > 500 ? true : false; } private function preapare(){ //備料 要先買好菜才能夠洗菜 切菜 做備料的動作 return $this->preapare_status = $this->buy_status ? true : false; } private function cooking(){ //煮飯 要先備料好才能夠煮 return $this->cooking_tatus = $this->preapare_status ? true : false; } public function serve($budget){ //上菜 你只能呼叫這個 因為它是公開的方法 其它的都不允許 在類別之外呼叫 達到保護資料確保流程正確 $this->budget = $budget; echo '<br>'.( $this->buy() ? '買好菜了' : '不夠錢'); echo '<br>'.( $this->preapare() ? '備好菜了' : '還沒買菜'); echo '<br>'.( $this->cooking() ? '煮好菜了' : '還沒備菜'); echo '<br>'.( $this->cooking_tatus ? '上菜囉!' : '還沒煮好哦!'); var_dump(debug_backtrace()); } } //封裝的好處 上菜的順序 拿錢 買菜 備菜 煮菜 最後才能上菜 $c = new ck(); $c->serve(600);//我們只要呼叫上菜 跟 給錢 前置作業的細節跟流程不用管他,卡在那個階段也會跟你說明 echo '<br>'; //顯示結果 /* 買好菜了 備好菜了 煮好菜了 上菜囉! [0]=> array(7) { ["file"]=> string(44) "/var/www/html/webteach.tw/abc/def/test.php" ["line"]=> int(32) ["function"]=> string(5) "serve" ["class"]=> string(2) "ck" ["object"]=> object(ck)#1 (4) { ["budget":"ck":private]=> int(600) ["buy_status":"ck":private]=> bool(true) ["preapare_status":"ck":private]=> bool(true) ["cooking_tatus":"ck":private]=> bool(true) } ["type"]=> string(2) "->" ["args"]=> array(1) { [0]=> int(600) } } } */
評等結果
點擊便能為這篇文章進行評等!
[評等總次數: 0,平均評等: 0]