當我們的PHP程式Debug時,比較常用的方式是將變數的資訊列印到瀏覽器中,例如這樣: (建議學習:PHP影片教學)
<?php echo '<pre class="brush:php;toolbar:false">'; print_r($bar); echo ''; exit;
可是直接列印出來有可能會幹擾你的頁面,打亂佈局,影響作為Api回傳的資料等問題。這時我們可以採取將偵錯資訊輸出到檔案的方式,如下是最簡單的例子:
error_log(print_r($bar, true));
可是這種方式用來記錄日誌還合適,用到調試時終究還是不太方便。此時我們可以利用現代瀏覽器的控制台,像是Chrome Console(Win快捷鍵 Ctrl Shift J),將內容輸出到Console裡,就可以解決這個問題了。
現在已經有一些這樣的工具了,比如說 PHP-Console 或Chrome Logger ,前者針對PHP,後者支援多種服務端語言,使用方式都是先安裝一個Chrome擴展,然後提供服務端的函式庫供呼叫。實現方式大致上是利用Session,Cookies等來傳遞資料。
如上是比較完善的解決方式,都提供了豐富的功能。但如果只是想要一個簡單的,可用的,不用安裝擴充功能的方式來解決這個問題,那麼可以這麼來做:
<?php function console_log($data) { if (is_array($data) || is_object($data)) { echo("<script>console.log('".json_encode($data)."');</script>"); } else { echo("<script>console.log('".$data."');</script>"); } }
其實質上就是在頁面裡加入了一段javascript的腳本,利用 console.log();函數輸出訊息到控制台,如上方法列印出來都是字串形式,如果將單引號去掉,PHP的陣列和物件將以JS物件的方式列印出來,即
echo("<script>console.log(".json_encode($data).");</script>");
以上是php怎麼回傳資料到控制台的詳細內容。更多資訊請關注PHP中文網其他相關文章!