PhpStorm - Programujte v PHP chytře

Ostatní PR články PhpStorm - Programujte v PHP chytře

Jazyk PHP má několik atributů, které v něm znepříjemňují práci na větších projektech. Jedná se zejména o dynamické typování, kvůli kterému většina IDE špatně napovídá a kontroluje kód. Nesnadné je PHP také debugovat nebo v něm sestavovat SQL dotazy, které se zadávají jako prostý string. Programuji v několika jazycích a v PHP mi běžné úlohy trvaly více času, než např. v C# .NET. Dlouho jsem hledal nástroj, který by zefektivnil mou práci a tak ušetřil můj čas, peníze a nervy u zbytečných chyb, kterých jsem se mohl vyvarovat. Vyzkoušel jsem asi 5 IDE a nedávno jsem našel to, co jsem hledal. V tomto článku bych se s vámi chtěl podělit o některé funkce nástroje, který výrazně změní způsob, jakým pracujete. Tímto nástrojem je PhpStorm.

PhpStorm

PhpStorm je velmi chytré IDE pro jazyk PHP a další webové jazyky jako JS, HTML a CSS, které vyvíjí firma JetBrains.

Zvýrazňování SQL

Základem každého informačního systému je databáze. Strávil jsem značný čas hledáním doplňků a čtením diskuzí o zvýrazňování SQL kódu v jednotlivých IDE. Vždy jsem se setkal s odpovědí, že to není realizovatelné. Všechny SQL dotazy v mé aplikaci vypadaly nějak takto:

Zvýrazňování SQL syntaxe v PhpStorm

Někde v dotazu výše je chyba. Nejen, že ji teď nevidíte, ale pravděpodobně byste ji ani nenašli a přišli byste na ni až při testování. A programovat tímto způsobem je zbytečná ztráta času. PhpStorm zvýrazňuje SQL syntaxi a dokonce napovídá názvy sloupců a tabulek, které si sám zjistí z vaší databáze.

U obrázku výše jsem tuto funkci vypnul, pojďme se znovu podívat, jak dotaz vypadá když je zapnutá:

Zvýrazňování SQL syntaxe v PhpStorm

Vidíme, že se sloupec change nepodbarvil a je u něj červené podtržení. Sloupec totiž neexistuje. Po stisknutí CTRL + SPACE nám PhpStorm nabídne sloupce s podobným názvem, zde tedy lastChange, což je správy název. Jakmile toto jednou poznáte, již nebudete chtít nikdy programovat "na slepo".

Když jsme již u databází, ukažme si, jak se dá takovýto dotaz jednoduše spustit přímo z kódu v PhpStorm konzoli. Stačí na něj kliknout:

Spouštění PHP dotazů v PhpStorm

A zadat chybějící parametry:

Spouštění PHP dotazů v PhpStorm

Výsledky dotazu:

Spouštění PHP dotazů v PhpStorm

FTP synchronizace

Nahrávat soubory na FTP ručně je zbytečně pracné a jako při každé manuální akci se tím vystavujete nepříjemným chybám. PhpStorm za vás automaticky synchronizuje lokální projekt s verzí na produkci a nahrává jen soubory, které se změnily. Nasazení aktuální verze je otázkou kliknutí.

Zvýrazňování SQL syntaxe v PhpStorm

Debugging

Nastavení debuggingu pro PHP je jeden z největších problémů vývoje v tomto jazyce a mnoho lidí se kvůli tomu uchýlilo k používání méně sofistikovaných ladících nástrojů. PhpStorm obsahuje úplnou sadu debugovacích nástrojů. Své programy si můžete zastavovat, krokovat a nahlížet do obsahu proměnných v reálném čase. K nastavení debugu má pomocníka, který se podívá do konfigurace vašeho PHP a radí vám co máte kde změnit, aby debug fungoval. Jednodušeji to již opravdu nejde.

Níže je vidět breaknutá webová aplikace a prohlížení aktuálního obsahu proměnných.

Debugování v PhpStorm

Historie

Jistě se vám někdy stalo, že se potřebujete podívat do historie změn nějaké části projektu. Je to hlavně v situacích, kdy jste něco upravovali a program rozbili. PhpStorm má přímo integrované verzování, ve kterém můžete vizuálně porovnávat a upravovat aktuální verzi kódu oproti verzím předchozím.

Lokální historie změn v PhpStorm

Historie clipboard

Jen jako takovou malou vychytávku si řekněme, že PhpStorm verzuje i ClipBoard (CTRL + C). Můžete vložit něco, co jste zkopírovali před určitou dobou a co by normálně již nebylo přístupné:

Historie clipboard v PhpStorm

IDE obsahuje obrovské množství takovýchto malých a užitečných funkcí, během dne se skládá ušetřená vteřina ke vteřině a najednou zjišťujete, že jste hotoví o hodinu dříve, než jste čekali.

UML diagramy

Zejména při návrhu mohou být velmi užitečné UML diagramy databáze nebo tříd, které PhpStorm automaticky generuje. Nějaké si ukažme:

Diagram databáze v PhpStorm
Diagram tříd v PhpStorm

Pokročilá analýza

IDE se snaží napovídat úplně všude. Např. v HTML šablonách vám nabízí CSS třídy k elementům, pomocí CTRL + B přejdete na danou třídu do CSS souboru a podiváte se na její implementaci. Stiskem 3x SHIFT otevřete libovolný soubor z projektu pouhým zadáním části jeho názvu. O tom co a jak PhpStorm napovídá by se dal napsat seriál. Já velmi oceňuji automatické přidávání importů, když vytvořím instanci třídy, která není v daném jmenném prostoru:

Import jmenných prostorů v PhpStorm

Minulá IDE mi toto nehlídala a výsledkem byl samozřejmě Fatal Error a úplně zbytečně.

Je vidět, že PhpStorm vyvíjejí opravdu programátoři pro programátory. Určitě ho vyzkoušejte, má trial verzi, která je ke stažení na jetbrains.com. IDE není ve výsledku ani nijak drahé, freelancera vyjde kolem 2.500 Kč, pro OpenSource projekty a studenty IT škol je možné získat dokonce licenci zadarmo. Ušetřený čas je znatelný a není těžké si spočítat, že se vám IDE několikrát zaplatí. Zbylý časový zisk můžete strávit třeba na dovolené nebo programováním dalších funkcí, které byste jinak nestihli, to už je na vás :)