Přejít k navigační liště

Zdroják » PHP » Používáme PHPEdit: šikovné IDE pro práci s PHP

Používáme PHPEdit: šikovné IDE pro práci s PHP

Články PHP, Různé

Dnes si představíme další nástroj pro editaci zdrojových kódů. Jedná se o komerční plnohodnotné IDE PHPEdit, které vyrábí francouzská společnost WaterProof. Je šité namíru PHP, a proto při práci s ním snadno předčí řadu svých konkurentů.

Poznámka na úvod: Článek se zaměřuje především verzi PHPEdit 2.12. V současnosti je již k dispozici verze produktu 3.0. Podle seznamu změn na oficiálních stránkách v ní byly implementovány některé dlouho očekávané a šikovné funkce, které podporuje řada konkurenčních editorů, a které v předchozí verzi chybí, např. skrývání částí kódu (code collapsing), indikace neuložených částí kódu atd. Jde sice o drobné změny, nicméně jejich přítomnost značně urychluje práci.

Obecná charakteristika

PHPEdit je kompletní IDE (integrované vývojové prostředí) pro jazyk PHP. Jde sice o komerční produkt, ale pro své schopnosti si jistě zaslouží pozornost. PHPEdit je k dispozici pouze pro Windows.

Kromě základních vlastností, jako je možnost upravovat více souborů najednou, provádět hledání a náhrady regulárních výrazů, zvýrazňování syntaxe atd. obsahuje PHPEdit řadu velmi užitečných funkcí navíc, často specifických právě pro tento programovací jazyk. PHPEdit je totiž určený především pro vývoj webů, zejména v PHP. Podporu pro jazyky jako C/C++, nebo Javu u něho nenajdete.

Nebudu zde příliš rozvádět klasické funkce týkající se editace textu, které známe z každého lepšího editoru. Raději se zaměřím na dvě skupiny vlastností:

  • na schopnosti PHPEditu jako IDE
  • na jeho provázanost s jazykem PHP

Hlavní rysy

PHPEdit jako IDE

PHPEdit je plnohodnotným integrovaným vývojovým prostředím a obsahuje všechny nástroje, kterými se tato prostředí vyznačují:

  • Zvýrazňování syntaxe jazyka (včetně chytré podpory více vnořených syntaxí v jednom dokumentu, viz dále)
  • Integrovanou správu verzí pomocí CVS, či SVN
  • Debugger (lintovač) PHP (PHPEdit podtrhává nefunkční kód podobně, jako to známe z kontroly pravopisu u MS Wordu)
  • Integrovaná podpora testování
  • Možnost propojení s FTP a MySQL
  • Podpora projektů a „řešení“ (možná znáte z MS Visual Studia ony obligátní Solutions)
  • Technologie IntelliSense (nejedná se přímo a tuto technologii, neboť k této konkrétní vlastní patenty firma Microsoft, ale technologie kontextové nápovědy, kterou disponuje PHPEdit, ač není tak dokonalá jako IntelliSense Microsoftu, je i přesto velmi výkonná a nastavitelná, nazývá se CodeInsight)
  • Možnost ukládání code snipettů (oblíbených úryvků kódu)
  • Podpora dokumentace (jak oficiální, kterou umí PHPEdit číst lokálně či z online zdrojů, tak i kontextově podle dokumentačních komentářů)

PHPEdit jako editor PHP

Jak už z názvu aplikace vyplývá, je PHPEdit primárně určen k práci se soubory PHP – pojďme se tedy zblízka podívat, jaký že arzenál je pro nás v tomto směru přichystán. PHPEdit PHP programátorům nabízí:

  • Přímou integraci a podporu dokumentačního nástroje phpDocumentor (nástroj, který je schopen z dokumentačních komentářů ve stylu JavaDoc vytvořit dokumentaci API programu)
  • Integrovanou podporu UnitTestingu pomocí knihovny SimpleTest
  • Plug-iny pro rozšířené funkce frameworků Prado a EZpublish
  • Automatické vkládání dokumentačních komentářů nástroje phpDocumentor ke třídám, souborům a funkcím
  • Automatické pokládání QuickMarks (vysvětlíme později) na strategická místa kódu (začátek argumentů funkcí, atd.)
  • Doplňování PHP kódu
  • Code Beautifier (volně lze přeložit jako zkrášlovač kódu, popíšeme jej dále)
  • Dávkové úpravy označených částí textu (převod na velká a malá písmena, odsazování, atd…) – Verze 3.0 k těmto funkcím přidává zajímavou schopnost převodu označeného textu na camelSyntax, cool_uri_syntax, at­d.
  • PHPEdit obsahuje vlastní instalaci PHP, kterou používá k lintování a také lokální kopii dokumentace.

Výrobce se na svých stránkách chlubí 10 důvody proč používat PHPEdit.

GUI programu

GUI, neboli grafické uživatelské rozhraní programu, je tvořeno obvyklým uspořádáním, kde máme hlavní pohled se zdrojovým kódem uprostřed obrazovky a po obou stranách různé nástrojové panely. Na spodní straně očekáváme případný výstup. Na vrchní straně okna najdeme obvyklá nástrojová menu.

GUI PHPEdit s plným zobrazením zdrojového kódu

GUI programu s plným zobrazením zdrojového kódu (všechny panely jsou skryty)

Za zmínku stojí schopnost PHPEditu postranní i spodní nástrojové panely zobrazovat buďto permanentně (přišpendlit je), nebo pouze při najetí myši do jejich oblasti.

Jednotlivé nástrojové panely si v rámci okna editoru můžeme pozavírat a libovolně přerovnat. Když se nám aktuální pracovní prostor líbí, můžeme si jej uložit a takto můžeme mít uloženo libovolné množství pracovních prostorů a přepínat mezi nimi dle libosti.

QuickMarks

Jsou obdobou značek, které můžete znát z PSPadu. Jedná se o nečíslované ukazatele do textu souboru, které můžeme na libovolná místa pokládat a poté se k nim vracet a při tom je sbírat – zrychlují navigaci dokumentem.

GUI programu s pravým panelem a nástrojem Code Browser

GUI programu s přišpendleným pravým postranním panelem a načteným nástrojem Code Browser (průzkumník kódu)

Code Beautifier

Code Beautifier je vizuální formátovač kódu PHP. Když jej spustíme, zformátuje náš PHP kód podle nastavených pravidel (např. zarovná jednotlivé větve programu pod sebe, odebere přebytečné mezery atd.). Má relativně pestré možnosti nastavení. U jiných editorů jsem měl s podobnými nástroji velké problémy, protože jsem s výsledkem jejich práce často nebyl spokojen. A pokud autor editoru formátuje kód jinak než já, není pro vývojáře nic horšího, než když se musí orientovat v jiné struktuře kódu než té, na kterou je zvyklý.

Code Beautifier u PHPEditu je nastavitelný, takže si jej každý vývojář nastaví tak, jak sám potřebuje. Já sám osobně jej hojně používám – převážně, když se mi do ruky dostane cizí skript, který tím proženu a okamžitě mám kód pěkně čitelný a zformátovaný podle svých zvyklostí.

Chytrý zvýrazňovač

PHPEdit je zaměřen na vývoj webů a obsahuje proto zvýraznění syntaxe především pro jazyky PHP, HTML, CSS, JS, XML, XSLT atd. Nicméně jednou svou vlastností mne velmi mile překvapil – a sice, že PHPEdit je úžasně silný nástroj v momentě, kdy máte zdrojový kód, který obsahuje více než jeden programovací jazyk. Tento kód může být např. jednoduchá webová stránka, ve které je HTML, CSS, JS a třeba i PHP kód.

Zde nám PHPEdit usnadňuje život tím, že všechen kód, který je jiného jazyka, než toho, v jehož kódu máme kurzor, zešediví. Tudíž, když jsme v kódu PHP, tak všechen ostatní kód (např. okolní HTML) zešediví a my vidíme barevně zvýrazněnou syntax pouze u dalších částí kódu PHP. Když kurzor posuneme např. do kódu HTML, tak PHPEdit zareaguje a zvýrazní všechno HTML.

Zbývá poznamenat, že na rozdíl od jiných editorů (např. PSPadu), kde byly místy problémy s korektní detekcí syntaxe editovaného kódu a zvolení adekvátního zvýrazňovače, PHPEdit v tomto směru funguje spolehlivě a velmi svižně.

GUI programu s pravým panelem a Solution Explorerem

GUI programu s přišpendleným pravým postranním panelem a zobrazeným levým postranním panelem po najetí. V levém panelu je vidět nástroj Solution Explorer (správce projektu)

Novinka verze 3.0

V nové verzi PHPEdit 3.0 nalezneme velmi zajímavou funkci, která nám umožňuje pracovat najednou s více místy jednoho souboru. Práci s ní dobře popisuje propagační video výrobce.

Jak urychlit svou práci?

Stejně jako všechny moderní editory i PHPEdit podporuje klávesové zkratky. Můžete používat všechny běžně známé z ostatních programů a PHPEdit k nim přidává několik vlastních. Uvádím seznam těch, které ke své práci používám já téměř neustále:

  • SHIFT+CTRL+D – Přidá ke třídě nebo funkci phpDocumentor kompatibilní dokumentační komentář
  • CTRL+J – Vyvolá kontextovou nabídku CodeInsight (automatického doplňování kódu)
  • CTRL+SPACE – Vyvolá kontextovou nabídku Keyboard Templates CodeInsight
  • SHIFT+CTRL+1–9 – Uloží aktuální pozici jako záložku 0–9
  • CTRL+1–9 – Skočí na záložku 0–9
  • SHIFT+F12 – Skočí na deklaraci funkce/metody
  • ALT+HOME – Položí QuickMark
  • ALT+END – Přesune se na poslední QuickMark a zvedne ho

Úplný seznam všech zkratek najdete v nápovědě programu. A velkou část jich lze přemapovat.

Na co si dát pozor?

  • PHPEdit není univerzální IDE, podporuje pouze webové technologie (PHP, HTML, CSS, JS, XML atd.)
  • Ve verzi 2.12 nepodporuje code collapsing (schovávání částí kódu), verze 3.0 již tuto funkcionalitu má
  • Pluginy v PHPEditu jsou mírně specifickou záležitostí. Existují v něm, a při instalaci (nebo v nastavení aplikace) si můžeme vybrat, které pluginy bude PHPEdit používat. Nicméně pluginy již nelze doinstalovávat (v tom smyslu, že si stáhnu plugin z netu a nainstaluji) a také neexistují žádné pluginy třetích stran. Všechny pluginy spravuje a vytváří pouze společnost WaterProof, která PHPEdit vyvinula.

Kde PHPEdit získat?

Jak již bylo řečeno, je PHPEdit komerční produkt. Jeho výrobcem a distributorem je původem francouzská firma WaterProof. PHPEdit lze stáhnout z officiálních stránek formou 30-ti denní zkušební verze. Pokud Vás produkt zaujme, je možné si zakoupit profesionální licenci za 89.00 €.

Pokud byste chtěli PHPEdit používat nekomerční účely – ke studiu a rozvíjení svých schopností v PHP, WaterProof poskytuje možnost personální nekomerční licence. O tu je možné zažádat individuálně na stránkách produktu.

Alternativy

Jaké další editory (IDE) jsou vhodné pro práci s PHP soubory? (Termínem vhodné mám na mysli, že podporují zvýrazňování syntaxe PHP a pomáhají s jeho zápisem – doplňují kód a mají nějaký ten jeho lintovač – může být i formou pluginu).

  • JEdit (multiplatformní, zdarma)
  • PSPad (jen na Windows, zdarma)
  • NetBeans (multiplatformní, zdarma)
  • TextMate (jen na Mac OS, komerční)
  • Vim, resp. gVim (multiplatformní, zdarma)

Znáte-li či používáte-li nějaký další editor k úpravám zdrojových kódů v PHP, podělte se o své zkušenosti v komentářích.

Shrnutí

Já jsem se k PHPEditu dostal náhodou, když jsem se poohlížel po výkonnějším nástroji k práci s PHP skripty. PHP je mým nejoblíbenějším programovacím jazykem a předchozí editor, který jsem používal k úpravám PHP skriptů (PSPad) už se mnou nedovedl držet krok a přestával vyhovovat mým stále náročnějším požadavkům.

V rámci hledání nového editoru jsem vyzkoušel mnoho jiných produktů (Eclipse, NetBeans, JEdit) – na nich mi ale nevyhovovala právě jejich univerzálnost – k čemu mi je, že můj editor umí pracovat se syntaxí Ruby, když píšu PHP? No a nakonec jsem zvolil PHPEdit i přesto, že se jedná o komerční produkt. Jeho schopnosti mě tehdy doslova uchvátily – lintování PHP a hlavně to, že jsem jej nainstaloval a ihned mohl začít pracovat (bez nějakého dlouhého a složitého hledání a instalování pluginů, aby se produkt vůbec dal používat – což byl mimochodem důvod, proč mi nepadl do oka JEdit).

PHPEdit používám k práci s PHP dodnes a jsem s ním zcela spokojený. Jen díky němu jsem schopen držet krok s dobou a vyvíjet moderními agilními metodami test driven programing (programování řízené testy). Pomocí PHPEditu udržuji aktuální své repozitáře SVN a mé projekty jsou plně zdokumentovány v phpDocumentoru. Co víc si přát?

Odkazy

Používáte PHPEdit?

Komentáře

Subscribe
Upozornit na
guest
20 Komentářů
Nejstarší
Nejnovější Most Voted
Inline Feedbacks
View all comments
A.

Vypadá celkem pěkně, kdyby na tom byl stejně v době, kdy jsem hledal prostředí pro vývoj PHP aplikací, možná bych ho už používal.

mekele

V zakladni verzi neumi svn/cvs a praci s ftp, coz jsou dost podstatne veci, je potreba dokupovat formou modulu. Imo zasadni minus.
Zkousel jsem stejnou verzi jako autor a soucasne s tim phpDesigner, vratil jsem se zpatky k ZDE. Je to sice zrout, ale je skutecne nejlepsi (a nejdrazsi)

Wudo

Používám plugin do Eclipse… Toto IDE používám pro různé práce v různých jazycích, takže jsem na něj zvyklí.
Také odpadává instalace a zanášení mnoho různých jiných programů.

vejpitka

Zvyklí asi podle vzoru jarni? Koho čeho – mnoho? Já vím, že tohle není zrovna konstruktivní příspěvek, na druhou stranu IMHO určitá kultura vyjadřování ke kvalitní diskusi patří :(

andrejk

Kedysi som pouzival Homesite, ale bola 2x kupena vzdy niekym vacsim az skoncila ako obrovsky editor s masivnym prepojenim na ColdFusion. Teraz je mojou volbou Eclipse PDT http://www.eclipse.org/pdt/

Jiří Pavlíček

PHPEdit jsem používal v době kdy bylo free, potom jsem si na chvilku k odskočil k Notepadu++, ale bohužel to byla změna na produkt "o třídu níže" (nic proti Notepadu++, ale není to plnohodnotné IDE) a už před rok používám Eclipse a mohu to jen doporučit!

Anonymní

Eclipse je framework. Eclipse samo o sobe neni nic. Nebo alespon teda pro php. Existuji dva hlavni pluginy pro php – pdt(zend for eclipse) a phpeclipse.
Nic proti PHPEdit, pokud se clovek programovanim zivi, potrebuje profi nastoj a tim je pro mne PDT.
Podpora vseho co potrebuji – php, javascript, css, html, smarty, xml, xslt ….
To jiny editor nema a mit jen tak nebude :-)

Dalsi vychytavky pokud je clovek umi vyuzivat – historie hledani, historue uprav kodu, prima podpora CVS, SVN, refactoring….

Eclipse neni pro deti. Holt to krapet trva si na to vsechno zvyknout, ale stoji to za to.

madmucho

A co Dreamweaver cs4 napřiklad, zvlada jazyků více, php umí také syntaxi zvýrazňuje, sjednocuje praci s datovymi zdroji napříč jazyky které umí, ma integrovany Spry Javascript framework atd atd… nove zvlada Subversion a mnoho jiných vychitávek.

Tirus

ale třeba neumí projekty ;)

madmucho

Nechapu, umi projekty zvlada i svn a vice ftp spojeni s jednoduchym modelem lokal testing remote.

czechspekk

no comments needed

mkoula

Já jsem PHPEdit zkoušel nějak dávno, a už ani nevím proč mi nesednul… Dlouho jsem jel v jEditu, poté v Eclipse a nakonec skončil u NuSphere PHPEd… V akci se dá koupit za 199 USD, což je krapet více, ale já po měsíci někdy před rokem koupil a nelituju…

Přímé uploady na server i přes SSL a certifikát během jednoho kliknutí, přímá editace na serveru, workspace a víceroprojektů pod ním…

Jednou z věcí, která se mi před rokem líbila, a rozhodovala, bylo doplňování metod i v zanořených objektech, ale jen těch adekvátních… Eclipse s PHPEclipse nebo PDT nabízel všechno a Zend zas jen jedno zanoření max.. A Eclipse mě u projektu, kde bylo několik desítek tisíc souborů startoval několik minut, grrr… :-)

Od verze 5.5 rapidně zlepšili podporu pro HTML. Smarty syntaxe v šablonách také není od věci…

Jediné co mě trošku vadí je absence podpory autocpmplete doplňování v Javascriptu, včetně objektů jako má JSEclipse nebo Aptana… Pak už by to bylo přímo skvostné…

dc

Tak isto mam zakupeny Nusphere PHPEd. Je celkom fajn ale ma dost nedomyslenych funkcii a aj mu co to chyba. Chyba mi v nom SVN klient, blbe je nemoznost uplneho vypnutia/poprehadzovania tych floating panelov.Obcas rad pada, a hlavne je problem pri debuggovani ajaxovych jscriptov (ked sa debuguje nejaka stranka ktora na pozadi zavola pomocou ajaxu nejaky iny php script tak to vytuhne).Tiez mi dost chyba parovanie tagov v html. Momentalne som zacal pouzivat Eclipse a to je trochu des.Pomale a hroza, na druhu stranu to vyvazuje dost slusny pocet pluginov a moznost rozisrenia o dalsie jazyky.Skoda akurat ze eclipse je pisane v jave.Radsej by som ozelel multiplatformovost a mozno "pekny navrh" za vyssiu stabilitu a rychlost.
Mimochodom este vyborna vec od Nusphere je NuCoder na sifrovanie/obfuskacia php zdrojakov.Od verzie 2.0 podporuje aj licencne subory.

dc

Este jedna poznamka. Vecsina PHPckovych IDE pouziva na debugovanie Xdebug,ZendDebugger alebo PHP Debugger prave od NuSphere (akurat ze staru free verziu). Osobne som sa stretol s tym ze Xdebug padal (pravdepodobne problem s nejakym ajaxovy frameworkom ktory tahal data cez php script), ZendDebugger zatial bez problemov a PHP Debugger (posledna komercna verzia) tiez bez problemov.

mkoula

NuCoder mam tiez, na svojom serveru som ho rozchodil, ale letmo som zkusal aj nejaky komercny hosting a tam by asi musel byt doinstalovany onen NuCoder plugin co je dle mna trosku problem… Ale vela som sa v tom nehrabal…

Ohladne jazyka je pravda ze Python a Perl v PHPEdu ma iba barevnu syntaxi, ale nic viac… Ziadny autocomplete, proste nic :-(

Eclipse ma stval svojou pomalostou, mal som projekt kde bolo tisice obrazkov a on ich vsetku musel prezkumat kym sa nacetol do projektu… Cize sa projekt otvaral kludne aj 20 minut, co je dle mna uz dost hardcore, aj ked potom pracoval vcelku normalne…

Zcasti preto som presel na PHPEd, ale zrazu potrebujem pisat aj objektovy Javascript a tam je JSEclipse ci Aptana nenahraditelna… No a poslednou pisem aj v Pythone a tiez je zde Eclipse, ale komercne veci…

Akorat kedby v Eclipse bol nejaky plugin pre system FTP/SFTP ako ma PHPEd, WebDAV som vela nezkusal, tak neviem, proste kliknut pravym a dat upload… :-)

starenka

rejpavicnik: a proc neni mezi alternativami taky Zend Studio (for Eclipse)?

SendiMyrkr

Taky mi to prekvapilo, i to ze tam neni Eclipse… kdyz uz je tam netbeans ktery na php ma teprve kratkou historii tak me nepritomnost eclipse a zejmena Zendu docela prekvapila… jinak zajimavy prostredi, ale patrim mezi lidi kteri jiz prirostli k vyse zminovane Eclipse a jejimu pluginu PDT…

Ruthion

Pro editaci PHP kódu používám komodo edit. Na rozdíl od PHPEditu je zadarmo a má všechno, co od PHP editoru chci.

VfB

existuje možnost si někde jednoduše stáhnout nebo změnit barevné schéma zobrazování syntaxe? tak aby editor měl tmavé pozadí, nejideálnější by bylo něco jako darkblue z VIMu

dc

"Pomocí PHPEditu udržuji aktuální své repozitáře SVN a mé projekty jsou plně zdokumentovány v phpDocumentoru. Co víc si přát?", hmm no napriklad nejake prepracovane TODO, prepojenie s bug tracking systemom, moznost generovat scripty z db, nejake to UML a kreslenie diagramov sa tiez obcas hodi, moznost exportu projektu (povedzme ako archiv),prepracovana kontrola zdrojoveho kodu, refactoring, vyborna podpora editace css/javascriptu a este by sa co to naslo. Pouzival som Nusphere PHPEd ale nemal toto vsetko.Teraz momentalne pouzivam Eclipse a aj ked je to boj tak vecsina z toho ide (vyhoda doplnania roznych pluginov, napriklad pouzit na editaciu js cast z aptany a podobne)

Enum a statická analýza kódu

Mám jednu univerzální radu pro začínající programátorty. V učení sice neexistují rychlé zkratky, ovšem tuhle radu můžete snadno začít používat a zrychlit tak tempo učení. Tou tajemnou ingrediencí je statická analýza kódu. Ukážeme si to na příkladu enum.

Pocta C64

Za prvopočátek své programátorské kariéry vděčím počítači Commodore 64. Tehdy jsem genialitu návrhu nemohl docenit. Dnes dokážu lehce nahlédnout pod pokličku. Chtěl bych se o to s vámi podělit a vzdát mu hold.