IDE – PhpEd (nastaveni, tipy a triky)

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

Zdravim, vytvoril jsem tento thread, protoze behem nastavenim NuSphere PhpEd jsem musel projit vice threadu a pripadne se poptat na dalsi nastaveni. Timto bych chtel nejak seskupit vse co se nastaveni a ruznych tipu kolem tohoto IDE tyka

Proc PhpEd? Na prezentaci Davida o Nette, ktera probehla 11.11.2009 v Ostrave na VSB jsem videl, ze on sam pouziva PhpEd, a tak jsem si hned nasel, oc se jedna.
debugovani a tracovani PHP kodu se mi do te doby ani nesnilo (pouzival jsem PSPad) a doplnovani kodu je proste uz tresnicka :). Ma i mnoho dalsiho, ale to by byl jiny thread.


Software:

  • NuSphere PhpEd (verze 5.6, build 5615)
  • WampServer (verze 2.0)
    • Apache (verze 2.2.11)
    • PHP (vezre 5.2.9–2)
    • MySQL (vezre 5.1.36)

Pred nastavenim projektu:

Po naisnatlovani PhpEd jsem zkopiroval soubor C:\Program Files\NuSphere\PhpED\dbgwizard\dbg-wizard.php do root adresare meho serveru (nastavuje se v Apachi v souboru httpd.conf), u mne je to adresar D:\webserver\.

Nyni, kdyz spustite v prohlizeci adresu http://localhost/dbg-wizard.php, tak se vam zobrazi stranka, na ktere najdete par dulezitych informaci k tomu jak zprovoznit debugger na vasem serveru.

Pokud debugger jeste nemate zprovoznen, tak v casti „What did I find out about your system“ najdete dole cervene napsano „DBG (PHP DEBUGGER) is not installed“ a v nasledujici casti „How to install Server side DBG module“ je vam receno kam a jaky soubor si mate zkopirovat.

U mne to byl tedy soubor C:\Program Files\NuSphere\PhpED\debugger\server\Windows\x86\dbg-php-5.2.dll (mam 32bit Windows 7), ktery jsem zkopiroval do adresare: C:\Program Files\wamp\bin\php\php5.2.9-2\ext\dbg-php-5.2.dll a nasledne upravil php.ini pridanim techto radku:

zend_extension_ts="C:\Program Files\wamp\bin\php\php5.2.9-2\ext\dbg-php-5.2.dll"

[debugger]
debugger.hosts_allow= 127.0.0.1 localhost
debugger.hosts_deny=ALL
debugger.ports=7869

Zmeny se projevi az po restartovani serveru, tak na to nezapomente.

Tak a ted k nastaveni projektu:

  • File → New Project (nebo pravym tlacitkem na workspace → New Project)
  • Spusti se vam Project setting wizard.
    1. Na prvni obrazovce davam Next
  • Pak je jeste treba nastavit cestu k defaultnimu souboru pro spusteni
    • Project → Project properties
    • a zde skupina Files a položka Default file to run (u me to byl soubor D:\webserver\Nazev_projektu\document_root\index.php)
  • Tento bod muzete vynechat pokud je adresar LIBS_DIR (definovany v index.php a nastavuje cestu ke knihovnam jako je napr. Nette, dibi, …) zahrnut v root adresari vaseho projektu (viz. nize ma struktura projeku). Pokud ovsem mate adresar LIBS_DIR namapovany mimo adresar projektu:
    • Tak si jeste otevrete nastaveni projektu Project → Project properties a tam pridejte tento adresar ve skupině Files do políčka Code insight includes
    • A take (nevim, zda to neni v podstate to same jako bod vyse) pridejte tento adresar v zalozce Mapping. Remote directory bude stejny jako Local Directory a URL zustane prazdna.
  • Pak pokud chcete, aby se pri debugovani debugger zastavil az na breakpointu (nebo chybe) a ne hned na prvnim radku kodu:
    • Tools → Settings → Run & Debug: Stop on the first line after run
  • Také se vám může hodit, aby se kurzor v editoru nenastavoval za konec řádku:
    • Tools → Settings → Editor settings: Cursor beyond EOL

Jeste pro uplnost pripichnu vzorovou strukturu projektu, na ktere mi toto nastaveni funguje:

Adresar projektu je napriklad D:\webserver\Nazev_projektu\, kde D:\webserver je adresar root serveru.

Nazev_projektu/
+--app/
|  +--AdminModule/
|  |  +--presenters/
|  |  +--templates/
|  |  + ...
|  +--FrontModule/
|  |  +--presenters/
|  |  +--templates/
|  |  + ...
|  +--log/
|  +--models/
|  +--presenters/
|  +--temp/
|  +--bootstrap.php
|  + ...
+--document_root/
|  +--index.php
|  + ...
+--libs/
|  +--dibi/
|  +--Nette/
|  + ...
+ ...

Editoval Endrju (14. 3. 2010 9:34)

Endrju
Člen | 147
+
0
-

Nevim, zda se tento problem vyskytuje jen u mne ale nevim jak nastavit, aby se mi soubory v editoru oteviraly, zobrazovaly a ukladaly ve znakove sade UTF-8.

Kdyz v PSPad ulozim soubor, ktery obsahuje diaktitiku v UTF-8, tak se mi v PhpEd zobrazi tyto znaky dost podivne.

Priklad:

  • PSPad
    • $form->addText('username', 'Uživatel:');
    • $form->addSubmit('login', 'Přihlásit');
  • PhpEd
    • $form->addText('username', 'UĹľivatel:');
    • $form->addSubmit('login', 'PĹ™ihlásit');

Docela se mi nechce pak kazdy soubor s diakritikou specialne editovat v PSPad a do nastaveni PhpEd jsem se uz dival, ale mozna jsem neco prehledl.. (musi to prece nejak jit)

Nevite prosim nekdo jak toho docilim? Dekuji!

PS: nechtel jsem to michat do puvodniho postu.

Mikulas Dite
Člen | 756
+
0
-

Prima souhrn!

Znaková sade je buď v Tools/Settings/Default encoding a nebo http://i50.tinypic.com/2nw0l54.png (oboje je docela těžko k nalezení, protože to nejsou selectboxy jak bych očekával, ale upravené textboxy)

Endrju
Člen | 147
+
0
-

Uaaaa to by me **** :D. Ja to nastaveni prohledavam skrz naskrz a nikde nic a ani by me nenapadlo to hledat jinde, kdyz jsem UTF-8 nastavil uz v MenuToolsSettingsIDEIDE Settings: Default file encoding.
A Navic to nemelo ani zadny efekt :/.

Dovolim si sem priplacnout ten tvuj screen jeste jednou, protoze me to fakt pomohlo, DIKY!

Editoval Endrju (24. 2. 2010 21:22)

Jan Tvrdík
Nette guru | 2595
+
0
-

K nastavení debugování považuji za samozřejmost instalaci addonu do FF – DBGbar. Nebo existuje způsob, jak rozumně debugovat i bez něj?


Pro inspiraci: moje nastavení interface pro běžnou práci a pro debugování.

i.magine
Člen | 81
+
0
-

Co obarvovani sablon? Na to si taky prisel? Kdybys mel nejakou napovedu, budu rad ;).

Jan Tvrdík
Nette guru | 2595
+
0
-

Když nastavíš v IDE -> Associations asociaci přípony *.phtml se Smarty (+ zrušíš případnou asociaci s HTML), tak se to částečně obarví, ale ideální to není.

Martin
Člen | 171
+
0
-

Ahoj. Mám problém: Kvůli padání xdebugu při zobrazování obsahu proměnných v netbeans se pokouším zprovoznit phpEd s dbg-php-5.3.dll. Když pod dbg-php spustím projekt, fukční v prohlížeči i při debuggování v netbeans, odkrokuju až k prvnímu

<?php
	use Nette\...
?>

obvykle v bootstrap.php a tam to spadne s hlášením:
ERROR: E_PARSE
parse error, expecting `T_CONSTANT_ENCAPSED_STRING' or `'(„
at bootstrap.php line 4

, přičemž Nette a všechna zpětná lomítka jsou červeně vlnovitě podtržená.
Přitom v záložce phpEd Output mám v title: "http://localhost:8080/www/index.php?DBGSESSID=406088463427700012;d=1,p=0,c=1“.
Pokud tam napíšu „http://localhost/JmenoProjektu/www/index.php“, zobrazí se běžící aplikace, samozřejmě ale nefunguje debugger. Moc nerozumím té rozdílné cestě a jak se to přesměrovává.
Zkoušel jsem do nastavení projektu přidat Nette adresář do Properties/Code insight includes i do Includes, ale bez úspěchu. Je dobře, že v této záložce vidím soubory frameworku červeně?
Předpokládám, že jde o nějakou maličkost, kterou jsem opomenul v instalaci či nastavení, ale i přes procházení fór i návodů na nic nemohu přijít. Chová se to stejně v módu PHP CLI (php.exe)HTTP mode (SRV local WEB server). 3rd party WEB server mi debugger nespustí vůbec, i když to nastavím podle návodu zde jako na lokální. Nebo netušíte někdo, jak opravit ten padající xdebug při prohlížení proměnných v netbeans?

Editoval Martin (6. 3. 2011 20:42)

jasir
Člen | 746
+
0
-

Vyzkoušej Project Properties > Parser > Php5.3

Martin
Člen | 171
+
0
-

Díky za informaci. To mě napadlo hned, v Netbeans také nastavuji verzi php, aby mi fungovaly jmenné prostory. Ale v phpEd to nemohu nikde najít. Na kartě Project Properties mám šedivou druhou záložku Encoder, píše mi to, že nemám zakoupený NuCoder. A nikde jinde jsem zmínku o verzi php nenašel. Není možné, že verze phpEd 5.8, kterou jsem dostal k nainstalování v zaměstnání, vůbec php 5.3 nepodporuje?

jasir
Člen | 746
+
0
-

Tak to je dost pravděpodobné. www.nusphere.com

Martin
Člen | 171
+
0
-

Tak dík, opravdu s novým trialem se to rozjede, holt požádám zaměstnavatele o zakoupení obnovy. Přitom starší verze už měla debugger pro php 5.3, čekal bych, že i syntaxi to bude umět přečíst, akorát to třeba nebude umět nějaké napovídání. Teď mám zase jiné problémy, ale pokusím se chvíli řešení hledat sám, než tady budu otravovat se začátečnickými dotazy.

jasir
Člen | 746
+
0
-

Setkával jsem se s tím, že zapnutí debugu bylo neúnosně pomalé (PhpEd žral procesor třeba 10 sekund po skončení debugu). Zjistil jsem, že mu vadí dlouhá řádka vygenerovaného Debug Baru tady

Nahradil jsem jí tedy ve svojí verzi Nette za toto:

<?php
debug.innerHTML = <?php echo str_replace('\n',"\\n\\\n",json_encode(@iconv('UTF-16', 'UTF-8//IGNORE', iconv('UTF-8', 'UTF-16//IGNORE', $output)))) ?>;
?>

a od té doby pohoda. Třeba to někomu ušetří nervy.