Translate this article:


Již delší dobu jsem se chystal sepsat článek o debugovacím nástroji pro PHP, protože spousta „leet“ pseudo programátorů stále ladí kód pomocí různých printů a echo... Pokud stále patříte mezi ně, máte šanci s tím konečně neco udělat.

Pro PHP existují 4 hlavní vývojové prostředí

Opravdový programátor používá pro vývoj své oblíbené IDE (Integrated Development Environment). V tomto článku se budu zabývat prostředím Eclipse PDT ve verzi 2.1. Rozšíření pro debugování jsem zvolil Zend Debugger (pro zájemce existuje i modul Xdebug, tím se ale zabývat nebudu).

Z vlastní zkušenosti mohu říct, že jsem se docela dlouho odhodlával pro ladění kódu přes IDE. Každý jsme nejspíše začínali pomocí echo výpisů, případně speciálně napsaných debugovacích funkcí, které zformátovaly a vypsaly debugovaný kód. Člověk si pak zvykne a nehledá změnu. U mě k tomu přibyl i strach z nějakého složitého nastavování (úplná sranda to nakonec opravdu nebyla). Tímto a dalšími navazujícími články bych tedy chtěl shrnout všechny moje zkušenosti a problémy, na které jsem v průběhu narazil.

Zend Studio aneb trochu historie

Svůj první rozsáhlý PHP kód jsem začal vytvářet na PHPEclipse.com. To bylo v dobách, kdy se Eclipse PDT začalo teprve vyvíjet a na které jsem přešel hned, jak se objevila první funkční verze. Od té doby uplynulo spoustu času, Eclipse PDT uzrálo ve schopného kandidáta na oficiální PHP IDE. Toho si samozřejmě všimli lidé ze Zendu a své Zend Studio 6 postavili na jádru Eclipse PDT. To obohatili o featury jejich bývalého prostředí Zend Studia 5.

Díky nepřehlédnutelné propagaci ze strany Zendu jsem si řekl, že vyzkouším jejich trial verzi a tím to vše začalo. Součástí instalačního procesu byla možnost nainstalovat si jakýsi debugovací toolbar přímo do prohlížeče Firefox

Zend Studio Debug Toolbar - Firefox

Po instalaci jsem si spustil IDE, vytvořil nový workspace a přidal projekt. Spustil jsem Firefox, kliknul na tlačítko debug a čekal, co přijde. Najednou na systémové liště zablikalo Zend Studio a nastavilo se do popředí. Eufórie právě začala :) Debugování fungovalo a přitom jsem nemusel nikde nic nastavovat! Byl jsem ohromen!

Šel jsem se s tím pochlubit kolegům, kteří používali Eclipse PDT. Pokusně jsem zkusil i u jednoho z nich nainstalovat Zend Studio Toolbar do Firefoxu. Čekalo nás ale velice nemilé překvapení, protože toolbar zahlásil, že není spuštěné Zend Studio.

Zend Studio Debug Toolbar - detection

Nedalo mi to a začal jsem zjišťovat, kde je probém (když jsou obě IDE založené na tom samém základu). Prošel jsem si nastavení Eclipse PDT vs Zend Studio. Našel jsem rozdíly v dialogových oknech. Studio mělo navíc položku "Broadcast Port".

Windows->Preferences->PHP->Debug->Installed Debuggers->Configure Zend Debugger
eclipse-pdt-debugger-settings zend-studio-debugger-broadcast-port

Zbývalo tedy přijít na to, který plugin ze Zend Studia má v sobě podporu pro interakci s prohlížečem (naslouchajícím na daném portu) a doufat, že v něm nebudou závislosti na Zend Studio. Povedlo se :-)

Disclaimer: pokud budete provádět následující postupy, pravděpodobně porušujete licenční podmínky Zend Studia... Článek byl napsán pouze za účelem informovat o této „chybě“, nikoliv proto, aby byla dále zneužívána. Pokud se Vám bude vlasnost líbit, měli byste si prostředí zakoupit a podpořit tím tak další vývoj.

Eclipse PDT + Zend Advanced Debugger Plug-in

Následuje seznam souborů, které je potřeba si stáhnout (vyzkoušeno pouze na platformě Windows)

Eclipse PDT (eclipse-php-galileo-SR2-win32.zip) rozbalte do libovolné složky, například C:\Dev\Eclipse. Nainstalujte Zend Studio (musí se ale jednat pouze o verzi nižší než 7.1!), zde již advanced debugger nejde vykopírovat (jde ale nefunguje). Po nainstalování Studia otevřete složku „plugins“ v místě jeho nainstalování (standardně C:\Program Files (x86)\Zend Studio - 7.0.2\plugins).

Zkopírujte .

do složky, kam jste rozbalili Eclipse (doporučená „C:\Dev\Eclipse\plugins“) a spusťte Eclipse.exe s parametrem clean („eclipse.exe -clean“). To by mělo zajistit přenačtení všech pluginů. Nyní si vytvořte workspace (nebo použijte stávající). Po spuštění pokračujte do menu Help->Install New Software (viz následující screenshot).

eclipse-pdt-install-new-software eclipse-pdt-install-new-software-debugger-feature

Do políčka Work with vepište adresu http://downloads.zend.com/pdt/ a nainstalujte Zend Debugger Feature (5.3.7.v20091124 - org.zend.php.debug_feature.feature.group) a akceptujte výzvu na restart prostředí.

Nyní můžete plně využívat debugování přes tlačítko debug ve svém prohlížeči. V komentářích rád přivítám vaše názory.

V další sérii článků na toto téma se budu zabývat:

Upraveno 2010-02-18 - přidán odkaz na debug toolbar pro Chrome 4.0

Upraveno 2010-03-15 - Eclipse PDT SR2, přidán balíček Zend Studio Debug Pluginu