當我們還在使用print_r、var_dump、echo和exit這些命令進行一些中間參數的調試輸出,並且樂此不疲的時候,或許我們不知道,我們的效率有多麼低下,開發中有帶來了多大的不便。
儘管許多優秀的系統在開發中特意設定了debug mode或專門的debug function,但這些並沒有實質性的改善我們開發中遠程調試工作的紛繁蕪雜,儘管我們可以很負責任的說:一個優秀的系統需要長期的測試、調試來改善其性能,優化其演算法,但也許我們花費的時間和所付出的勞動成倍卻並沒有取得多少的成效,當然我不是贊成在工作中的投機取巧,我是反對在工作中浪費時間,我們諸多的同仁們成天的「徜徉」在代碼的海洋裡,廢寢忘食,認真的甚至有些不可理喻,我不知道這樣做的效率到底是多少?
Zend Studio的遠端偵錯功能是我們日常開發工作中一項相當重要的功能,本文伺服器端採用輕量級的zend debugger,我們先來看一個簡單的例子:
<ol class="dp-xml"> <li class="alt"><span><span class="tag"><?</span><span class="tag-name">php</span><span> </span></span></li><li><span>$</span><span class="attribute">i</span><span>=</span><span class="attribute-value">0</span><span>; </span></li><li class="alt"><span>do{ </span></li><li><span> echo $i++; </span></li><li class="alt"><span>} </span></li><li><span>while($i</span><span class="tag"><</span><span class="tag-name">0</span><span>); </span></li><li class="alt"><span>$</span><span class="attribute">i</span><span>=</span><span class="attribute-value">0</span><span>; </span></li><li><span>while($i</span><span class="tag"><</span><span class="tag-name">0</span><span>){ </span></li><li class="alt"><span> echo $i++; </span></li><li><span>} </span></li><li class="alt"><span class="tag">?></span><span> </span></span></li> <li class="alt"> </li> </ol>
當我們非常覺得書上的說辭過於抽像我晦澀的時候,我們怎麼才能比較直觀的知道這兩段代碼的執行流程是怎樣的呢?下面我們來試試zend studio(下簡稱zde)。
我先將上述程式碼用zend studio儲存在本機的http://localhost:8080/myphppro/debug.php位置,在zde中,選擇遠端偵錯選單或工具選單下的【偵錯URL ……】命令,當然更方便也是本人最為推崇的方法是按F8,開啟如圖1的調試URL對話框。