[ PHP ] – debug_backtrace() 除錯追蹤

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 '
'.( $this->buy() ? '買好菜了' : '不夠錢'); echo '
'.( $this->preapare() ? '備好菜了' : '還沒買菜'); echo '
'.( $this->cooking() ? '煮好菜了' : '還沒備菜'); echo '
'.( $this->cooking_tatus ? '上菜囉!' : '還沒煮好哦!'); var_dump(debug_backtrace()); } } //封裝的好處 上菜的順序 拿錢 買菜 備菜 煮菜 最後才能上菜 $c = new ck(); $c->serve(600);//我們只要呼叫上菜 跟 給錢 前置作業的細節跟流程不用管他,卡在那個階段也會跟你說明 echo '
'; //顯示結果 /* 買好菜了 備好菜了 煮好菜了 上菜囉! [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) } } } */
⇩⇩⇩!謝感,去下營經續繼費經夠足有才告廣擊點人五有要需少最天一,告廣擊點我幫請,話的您到助幫有章文的我果如 如果我的文章有幫助到您的話,請幫我點擊廣告,一天最少需要有五人點擊廣告才有足夠經費繼續經營下去,感謝! ⇧⇧⇧

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *