V ui42 sme dlhodobo využívali ako vývojové prostredie pre naše projekty ZendStudio. Začínali sme päťkovou verziou, ktorá až do času verzie 5.5 bola pre vývoj PHP webových aplikácií úplne bezkonkurenčná.

Neskôr sme boli nútení prejsť na Zend Studio 6 až 8, ktoré sa síce snažilo ponúkať stále nové a nové funkcie, ale často práve tie najbežnejšie neuľahčovalo a trpelo a stále trpí latenciami. Síce ide o špičkové IDE pre PHP, ale i tak sme v septembri 2012 po krátkej skúšobnej lehote hromadne prešli na PhpStorm a dodnes ma táto voľba veľmi teší.

Programátori, ktorí majú svoje termíny a množstvo projektov na support, neradi menia svoje pracovné návyky a rozbehanie nových vývojových prostredí býva často nepríjemnou prácou. Musím však povedať, že prechod na PhpStorm mi priniesol nie len väčší prehľad, poriadok a lepšiu údržbu projektov, ale hlavne mi šetrí čas, čím sa mi už dávno vrátila časová investícia venovaná zaúčaniu sa v novom prostredí.

Základné informácie

Firma JetBrains, ktorá stojí za produktom PhpStorm ponúka vývojové prostredia podobné tomuto aj pre jazyky Java, C#, Python, či Ruby. Ide o produkty zamerané na rýchly a prehľadný vývoj webov. Samotný PhpStorm je založený na IntelliJ IDEA  a je mutliplatformový, čo je pre mňa, vývojára na Linuxe, nutnou podmienkou. Verzie pre jednotlivé operačné systémy vychádzajú súčasne a za dobu, ktorú PhpStorm používam (5 mesiacov), vyšlo niekoľko menších a jeden hlavný update.

PhpStorm vyžaduje na svoj beh Javu, ale zďaleka nežerie toľko systémových zdrojov ako ZendStudio (ZS).

PhpStorm obsaju editor kódu, debugger, podporu profilerov, nástroje na správu verzií a databazový navigátor, podporu Smarty a mnoho iných. Mojím cieľom však nie je ich vymenovať, ale poskytnúť môj pocit z každodenného používania. Ostatné zaujímavé funkcie si nájdete podrobne rozpísané na stránkach projektu http://www.jetbrains.com/phpstorm/.

Výhody a porovnanie

Ak by som mal pomenovať hlavnú výhodu PhpStormu oproti ZendStudio, tak spomeniem len rýchlosť. ZS malo nutkanie začať indexovať vždy v najnevhodnejšiu dobu a niekedy bolo kvôli uloženiu jedného súboru dokonca nutné čakať na dokončenie indexovania niekoľko minút. O stabilite ani nehovorím.


Code completitionUž samotná svižnosť programu by stála za prechod, ale okrem toho využívam denne výborný code completion, ktorý rozpoznáva kľúče polí, mená stĺpcov v DB, alebo CSS triedy definované v priložených CSS súboroch, či naopak v CSS súboroch dopĺňa id, alebo triedy definované v HTML šablónach. Pomôckou pri orientácii je rýchle vyhľadávanie v súboroch alebo triedach. Zväčša po napísaní pár písmen uhádne, ktorý súbor práve chcete otvoriť.


Pre projekt je možné nakonfigurovať vzdialený server, kam môžete automaticky nasadzovať zmeny, ktoré boli práve úspešne commitnuté do SVN. Pred SVN commitom vás prostredie upozorní na chyby v kóde a umožní vám nastaviť volanie rôznych akcií (skriptov) po úspešnom commite. Automatická analýza kódu vám vopred naznačí kolízie duplicitných názvov metód a funkcií. Zvýrazní aj nevyužité a nedefinované premenné a dokonca v spolupráci s MySQL vie dopĺňať a overovať aj SQL dopyty. Často preto odhalíte chyby bez nutnosti prepnutia sa do prehliadača a spustenia kódu.

Zvýrazňovač syntaxe rozpozná kód v úvodzovkách i apostrofoch a taktiež v nich funguje aj dopĺňanie (napr. HTML, JavaScript, MySQL).

PhpStorm vie automaticky zatvárať súbory, ktoré sa dlho nepoužili, čiže vám uľahčuje orientáciu v stále rastúcom projekte. Ak vám aj náhodou zatvorí súbor, ktorý ste chceli práve použiť, nič sa nedeje. Otváranie súborov pomocou klávesových skratiek je naozaj rýchle a inteligentné.

Inou, možno pre niekoho zanedbateľnou, výhodou je, že PhpStorm rozpozná nad existujúcimi súbormi použite VCS (SVN, GIT, etc.) a samo si ich nakonfiguruje. V ZendStudiu sa nám nepodarilo rozbehať SVN podporu v už vytvorenom projekte. Šikovnú podporu má PhpStorm aj pre správu zmien. V záložke Changes si môžete prehľadne prezerať zmeny v projekte a spravovať rôzne zoznamy súborov a commitovať napríklad iba jednu množinu zmien. 
A aj taká vlastnosť ako automatické uloženie súboru, po tom ako okno stratí fokus, sa javí užitočne. (Aj keď som sa toho najskôr bál, ale teraz sa mi už nestane, že pozerám v prehliadači neaktuálny kód.)
PhpStorm má celkom rozsiahlu databázu pluginov, ktorá sa stále rozširuje. Celkovo celé prostredie prechádza intenzívnym a živým vývojom (viď PhpStorm blog). 

V ui42 sa ujal aj plugin CSS-X-Fire, ktorý v kombinácií s FireBugom dokáže priamo editovať CSS súbory, a pri zmene vo Firebugu okamžite mení aj zdrojový kód. 

Niekoho môže potešiť aj vydarené automatické formátovanie kódu, ktoré na rozdiel od ZendStudia funguje dobre aj nad HTML šablónami.

Použiteľnosť v detailoch

Toto IDE obsahuje plno, možno na oko, drobných vylepšení, ktoré robia bežné veci len o niečo úspornejšie. Ale v sume ide o veľký prírastok v použiteľnosti. Podobné detaily by si mal všímať aj Zend, lebo tie tvoria väčšinu dennej práce programátora.

Cenovo je produkt lacnejší ako Zend verzia, ale ak sa zameriavate na vývoj webových aplikácií, určite sa oplatí investovať do produktu, ktorý dokáže priniesť trochu svetla do temnej programátorskej práce:). Iste to nie je prostredie bez chyby, ale oproti ZendStudiu má aspoň zmysel učiť sa jeho možnostiam, lebo všetko sa deje okamžite a intuitívnejšie.