Nastavení debugování Nette v NuSphere PHPEd

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Tomik
Nette Evangelist | 485
+
0
-

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í NuSphereNette nějaké další „fígle“, které při vývoji pomáhají).

Díky!

David Grudl
Nette Core | 8218
+
0
-

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.

Tomik
Nette Evangelist | 485
+
0
-

Díky! Konečně mám oblíbený framework a editor pohromadě… ;)

LM
Člen | 206
+
0
-

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>
tom
Člen | 171
+
0
-

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

Tomik
Nette Evangelist | 485
+
0
-

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.

tom
Člen | 171
+
0
-

Ahoj! Pokud jsi to byl ty, kdo mi psal na mail …

ahoj super, diky moc za email, jsem to ja :-). vse vyzkousim, myslim ze je to presne to co jsem potreboval. diky moc

Tomik
Nette Evangelist | 485
+
0
-

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:
    1. Run mode: 3rd party web server
    2. RootURL:http://localhost/projekt/“, kde složka projekt je root složka tvého vyvíjeného projektu
    3. Remote root dir.: c:\WWW – cesta k rootu serveru
  • 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 ToolsSettings 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

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
+
0
-

Kdybyste někdo uměl debugovat s netbeans, tak bych ocenil zveřejnění nějakého jednoduchého návodu.

Mas3r
Člen | 116
+
0
-

Právě se mi to zobrazilo v NetBeansech. http://www.netbeans.org/…bugging.html

Ondrej
Člen | 110
+
0
-

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
+
0
-

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
+
0
-

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)