Nastavení debugování Nette v NuSphere PHPEd
- Tomik
- Nette Evangelist | 485
Ahoj Davide,
toto bude dotaz plus mínus asi jenom na Tebe, ale na fórum to píšu proto, že jsem si říkal, že by se to mohlo někomu hodit. Začal jsem tedy (konečně!) psát v Nette svojí první větší aplikaci, a tak jsem se rozhodl Nette nějak hezky zapasovat do NuSphere, jenže mi pořád nějak zlobí nastavení debugování, chtěl bych Tě tedy poprosit, zda bys byl tak laskavý a podělil se, jaké máš nastavení Ty (plus jestli máš pro nastavení NuSphere s Nette nějaké další „fígle“, které při vývoji pomáhají).
Díky!
- David Grudl
- Nette Core | 8218
Aby debugování fungovalo na Apache, tak musíš do adresáře
ext
zkopírovat dbg-php-5.2.dll
z Nusphere a do
php.ini
přidat extension=dbg-php-5.2.dll
.
Jinak by mělo snad vše chodit.
Snad jen ještě – v Project properties je dobré v Code insight includes přidat cestu k PHP-5.2 verzi Nette, aby fungovalo dobře napovídání kódu. No a v záložce Mapping přidat i adresáře knihoven (např. fyzická cesta k LIBS_DIR). Remote directory bude stejné jako Local directory, URL bude nevyplněno.
- LM
- Člen | 206
Jen možná ještě takovej tip pro phped (debugování se to netýká), dá
se snadno přidat jakýkoliv phpdoc třeba pro Nette @persistent
stačí editovat soubor
X:\Document and settings\%username%\Application Data\NuSphere\PhpED\config\phpdoctags.cfg
je to XML, stačí do root elementu přidat něco jako:
<phpdoctag><name>@persistent</name><description>Persistent property (Nette framework)</description></phpdoctag>
- Tomik
- Nette Evangelist | 485
tom napsal(a):
Muzu poprosit o nakopnuti? Pouzivam XAMPP, PSPad a Nette a chtel bych zkusit pridat k tomu PHPEd. Hodilo by se mi nejake aspon mini how-to. Diky moc
Ahoj! Pokud jsi to byl ty, kdo mi psal na mail, teď jsem odpověděl, omlouvám se za prodlení, bohužel mě trochu zlobil mail, snad už to bude v pořádku. Kdybys něco nevěděl, nebo potřeboval pomoci, klidně napiš sem do fóra, pokud budu moct, odpovím.
Jinak ten mail, co jsem ti poslal mám v plánu nějak rozumně upravit (aby byl „čitelnější“ – psal jsem jej přecijen narychlo) a pak jej do tohoto vlákna přidám, aby to případně pomohlo i jiným.
- Tomik
- Nette Evangelist | 485
Takže jsem se pokusil nějak sepsat, jak na Nette debugging v PHPEd Nusphere editoru:
PHP a server je normálně nainstalovaný (a naslouchá na ip 127.0.0.1 – ale to by nemělo být důležité).
Do PHP si doinstaluji rozšíření dbg-php-5.2.dll (popř. nějak podobně pojmenované), a to tak, že jej nahraju do složky „ext“ (v install složce php) a do php.ini přidám řádku extension=dbg-php-5.2.dll, tak aby místo dbg-php-5.2 bylo jméno souboru, který jsem tam nakopíroval (může se lehce lišit).
Poté reset serveru.
V Nusphere pak nastavím toto (u každého projektu – Project properties):
- Root Dir: to je adresář s rootem konkrétního projektu
(např.
c:\WWW\projekt
) - Mapping:
- Run mode:
3rd party web server
- RootURL: „
http://localhost/projekt/
“, kde složka projekt je root složka tvého vyvíjeného projektu - Remote root dir.:
c:\WWW
– cesta k rootu serveru
- Run mode:
- A u položky Default file to run mám
„
C:\WWW\projekt\document_root\index.php
“ – jinak by při debuggování nedošlo k otevření indexu, tedy by se nedebutovala celá aplikace
Poté pokud třeba ladíš presenter Page, view „show“ je dobré si do bootstrapu místo výchozí ONEWAY routy dát toto:
<?php
$router[] = new Router('index.php', array(
'presenter' => 'Page',
'action' => 'show',
'page' => 'url-stranky',
), Route::ONE_WAY);
?>
Dojde k tomu, že pokud spustíš debuggování na jakémkoli souboru v projektu, pustí index, tato routa jej pak přesměruje na ten presenter, který ladíš, uvidíš tedy rovnou účinek změn v kódu, co jsi provedl.
Jinak samozřejmě, poté až aplikaci dokončíš, změníš tuto routu zpět na
<?php
$router[] = new Router('index.php', array(
'presenter' => 'Default',
'action' => 'default',
'page' => NULL,
), Route::ONE_WAY);
?>
Tak aby se to chovalo „normálně“.
Jinak samozřejmě doporučuji přidat do Code insight include (v Project properties) cesty k Nette a projektu (popř. jiným knihovnám – dibi, Zend…) – pak PHPEd chytře napovídá syntaxi Nette a všeho ostatního… :)
Edit:
Ještě je potřeba v Tools
→ Settings
v sekci
Tools a podsekci SVR web server
nastavit toto:
- Server port: 80
- Default home directory: např.
C:\WWW
- Type PHP5: cesta k exe souboru PHP.exe (např.
C:\SERVER\bin\php\php5.2.6\php.exe
) - Server mappings:
- localhost:
C:\WWW
- localhost:
Kdyby v tom byla chyba, omlouvám se, ale mě to takhle funguje. :)
Snad to někomu pomůže.
Hodně zdaru při vývoji Nette projektů v PHPed! :)
Editoval Tomik (10. 1. 2009 15:21)
- Honza Marek
- Člen | 1664
Kdybyste někdo uměl debugovat s netbeans, tak bych ocenil zveřejnění nějakého jednoduchého návodu.
- Ondrej
- Člen | 110
Tomik napsal(a):
Poté pokud třeba ladíš presenter Page, view „show“ je dobré si do bootstrapu místo výchozí ONEWAY routy dát toto:
Misto predelavani routovani pouze na debugovani je dobre pouzit https://addons.mozilla.org/…y/addon/3227.
- Jan Tvrdík
- Nette guru | 2595
Ondrej napsal(a):
Misto predelavani routovani pouze na debugovani je dobre pouzit https://addons.mozilla.org/…y/addon/3227.
Nechtěl bys k tomu doplnit krátký návod?
- Ondrej
- Člen | 110
Jan Tvrdík napsal(a):
Ondrej napsal(a):
Misto predelavani routovani pouze na debugovani je dobre pouzit https://addons.mozilla.org/…y/addon/3227.Nechtěl bys k tomu doplnit krátký návod?
Navod je tady http://www.nusphere.com/…ote-dbg.html, http://www.nusphere.com/…debugger.htm
Extension pro Firefox funguje stejne jako Debugger Toolbar v IE.
Editoval Ondrej (11. 1. 2009 18:55)