JetBrains PhpStorm

25.02.2010 1 komentář

Vývojových prostředí pro PHP je docela hojnost. Sám používám v práci Zend Studio 7.1 a doma Netbeans 6.8. Minulý rok přišla firma JetBrains, která je známá svým IDE pro Javu IDEA, s vývojovým prostředím pro PHP, které se jmenuje PhpStorm (dříve WebIDE). V současné době je nové IDE stále ve vývoji. Brzo se dočkáme beta verze a myslím do léta snad i finální verze.

PhpStorm (dále PS) je na platformě IDEA, což považuji za velkou výhodu. Dají se použít pluginy pro Ideu v PhpStorm. Kvalita pluginů v Idea mi přijde o poznání lepší než pro Eclipse.

JetBrains PhpStorm (WebIDE)

Hlavní přednosti vidím v těchto bodech:

  • Podpora pro Git, je to jediné IDE s opravdu slušným pluginem. Podpora pro SVN je samozřejmě také. Zkoušel jsem plugin pro Git v Netbeansech i Eclipse a nikde mi to moc dobře nefungovalo, nebo mi tam chyběli potřebné příkazy.
  • Vynikající editor, který je o poznání chytřejší než například v Netbeans. Je to vidět zvláště pokud něco refaktorujete. Pozná zda funkce již závorky má či nemá, nedoplňuje dvojité uvozovky nesmyslně jak se mi to stává často v Netbeans.
  • Podpora XSLT, XML. Pokud používáte jako šablonovací systém XSL tak to velmi ulehčuje práci. Podpora pro XSLT je i v Zend Studiu, ale tady to mají vyladěné do detailů. Mě to funguje spolehlivěji než v Zendu.
  • Multiplatformost je daná tím, že aplikace je napsaná v Javě a proto není problém ani Windows, Linux nebo Mac.
  • Podpora pro Smarty (pokud používáte)
  • Podpora pro PhpUnit
  • Podpora pro Debuggery (xdebug už funguje, zend debugger slibují)
  • Podpora pro Phpdoc (doplňování)
  • Editor s dopňovaním pro JS a HTML

Pěkná věc je třeba produktivity guide, radí co a jak dělat lépe:

JetBrains-PhpStorm-Productivity-Guide

JetBrains PhpStorm Productivity Guide

Nevýhody a nejasnosti v současnosti

  • Horší podpora formátovaní, chybí podpora checkstyle. Formátování lze celkem detailně sice nastavit, ale zatím nefungoval náhled a chtělo by to podporu pro PEAR, Zend checkstyle.
  • Zatím neznámá licenční politika a cena, ale předpokládám ze to bude podobné jako Zend studio, kterému chtějí konkurovat jak uvedli minulý rok na konferenci ZendCon’09
  • Zatím na linuxu chybí installler, na windows jsem to nezkoušel.
  • Chybí globální nastavení pro include path pro doplňovaní syntaxe, musíte do projektu přidat zatím ručně, líbilo by se mi to v globálním nastavení pro PHP.
  • Nepodporuje worksety. V Eclipse jsem si oblíbil worksety pro různé typy projektů (Zend, Nette, Examples,…), to mi přijde užitečné, ale není to nutné.
  • Chybí UI pro Phpunit, který je moc pěkně udělaný v Netbeans. Pokud programujete podle TDD je to dost užitečné.

Závěr
Myslím, že mezi IDE, které jsou zdarma mi přijde v současné době nejlepší asi Netbeans. Vývoj postupuje celkem pěkně dopředu, vylepšené automatické formátování v 6.9 bude jistě přínosem. Jedinou nevýhodu vidím v editoru, který se občas chová divně, ale dá se to přežít.

Z komerčních znám jen PhpStorm a ZendStudio a přijde mi práce v obou podobná. Jen v PhpStrormu jsou trochu dál. Je to tím, že IDEA jako prostředí je daleko před ostatními a spousta funkcí v něm obsažená pro Javu se do ostatním Java IDE pomalu dostává. Pro PHP je IDE od JetBrains sice nové, ale oni mají velké zkušenosti s vývojem IDE a myslí to s konkurencí pro Zend Studio vážně a na té práci je to vidět.

Pokud máte zkušenosti s PhpStorm na jiných platformách podělte se s ostatními v komentářích.

Categories: ide, php Tags: ,

Nejčtenější příspěvky za rok 2009

01.01.2010 Bez komentářů
  1. Wordpress Themes
  2. Wolfram Alpha
  3. Ubuntu a konfigurace XDebug pro Eclipse PDT 2.0
  4. Ubuntu, CentOS 5 a PHP 5.2.9 v Zend Server CE
  5. 9 a půl týdne s Androidem
  6. Hudson a PHP
  7. Subversion pod Windows
  8. Zend Studio 6.1.1. zkušenosti z prvních 14 dní
  9. Zend Framework 1.6 a ajax pomocí jQuery
  10. pDepend a php frameworky

Pro zajímavost nečtenější příspěvek za rok 2009 je stejný jako v roce 2008, hold ty Wordpress Themes jsou nevyhledávanější výraz, přes který se čtenáři dostávají na moji stránku i když to není účel.

Categories: ostatní Tags:

NetBeans 6.8 a PHPUnit

28.12.2009 1 komentář

Pokud používáte pro vývoj v PHP nějaké IDE, je to většinou PDT based (Eclipse, Zend Studio) nebo Netbeans. Samozřejmě jsou tu i další a vznikají nové, které stojí za zmínku. Mě oslovilo WebIDE od autorů IDEA firmy JetBrains, kde si myslím roste velká konkurence Zend Studiu.

V práci používám primárně Zend Studio a pro sebe většinou Netbeans. V Netbeans nejvíce oceňují propojení s PHPUnit a pokud rád vyvíjíte metodikou TDD. V verzi 6.7 bylo propojení s PHPUnit již vytvořeno, ale mělo některé chyby, které mi vadili a díky také doufám mému reportování a spolupráci s vývojáři Netbeans odstraněny.

Nejvíce mi vadilo, že se nečetl konfigurační soubor phpunit.xml a nesprávně byla nastavená cesta při spuštění unit testů. Vývojáři to nakonec udělali tak, že cesta se odvozuje právě od konfiguračního souboru, pokud existuje, případně od spouštěných testů. Přibyla také záložka v nastavení projektu, kde se dají detaily nastavit.

Poslední detail, který se dostal do Netbeans bylo ještě zobrazování nekompletních a přeskočených testů v GUI, které nefugovalo. GUI vychází z parsování xml výstupu PHPUnit a umí zobrazit víceméně vše co xml soubor poskytne.

Myslím, že vývoj Netbeans pro PHP jde správným směrem, v další verzi přibyde jistě podpora pro Zend Framework, který používám já i když to nepovažuji za nijak nutné. Spíše bych ocenil doladědí editoru v detailech. Například pokud máte již funkci končící závorkami a provedete doplnění názvu pomocí autocomplete Netbeans nepozná zda závorky tam jsou či nejsou a nechová se podle toho. Jsou to detaily, ale mnohe tyto detaily v editaci mi pijou krev. Obdobně problémy s automatickým doplňováním závorek, apostrofů, často se chová divně.

Pokud porovnáte WebIDE a Netbeans tak v práci s PHP je to srovnatelné, ale pro to ostatní HTML, editace, JS, XSLT, XML tak WebIDE vede protože vychází z geniálního IDE IDEA, které považuji za nejlepší pro JAVU a nejen ji. WebIDE má také podporu pro Git co ocením.

Myslím, že ve IDE, které jsou zdarma Netbeans začíná podle mne už porážet PDT hlavně rychlejším vývojem a menšími nároky na hardware. Také jsem ocenil nativní podporu pro Mercurial, trochu mi chybí podpora pro Git.

Categories: ide, php Tags: ,

PHP CodeBrowser a Hudson

11.12.2009 Bez komentářů

Před časem se objevil nový reportovací nástroj, který vezme logy z PHPUnit, PHP_Codesniffer a umí je pěkně zobrazit.

Instalace je z PEAR (http://pear.phpunit.de/get/)

pear config-set preferred_state alpha
pear channel-discover pear.phpunit.de
pear install --alldeps phpunit/PHP_CodeBrowser

nebo z SVN

svn co svn://phpunit.de/phpunit/phpcb/trunk PHP_CodeBrowser

Integrace
Tento tool jde integrovat do CIE

Postup integrace do Hudsonu si ukážeme

  1. Potřebujete do Hudsonu doinstalovat plugin HTML Publisher Plugin
  2. Nastavíte build script by používal phpcb

    <target name="phpcb">
    <exec executable="phpcb" dir="${basedir}/source">
    <arg line="--log reports/logs/
    --source source/
    --output reports/phpcb/" />
    </exec>
    </target>
  3. Nastavíte HTML Publisher plugin, aby četl html, které vyrobí phpcbhudson_phpcb
    • HTML Directory to archive
      Cesta k reportům podle toho jak jste si to nastavili v build skriptu, u mne reports/phpcb/
    • Index page[s]
      Defaultně je index.html, ponechejte.
    • Report title
      Nastavte co chcete, dal jsem PHP CodeBrowser

Výsledek bude vypadat nějak takto:

hudson-phpcb-3

PHP_CodeBrowser sám o sobě nepřidává žádnou funkcionality, ale umožňuje získané výsledky pěkně a přehledně zobrazit. To se hodí a pokud jste příznivci použítí jednoduchého Hudsonu jako já, doufám že vám to bude k užitku.

PHP_CodeBrowser můžete samozřejmě použít i bez jakékoliv integrace, protože je to běžné HTML. Pokud používáte verzi z SVN jako já pozor na to, že verze pokud jí pouštíte symlinkem nefunguje úplně správně musíte být v adresáři kde máte PHP_CodeBrowser a je lepší zadat plné cesty k logům phpunit i zdrojovým kódům.

Linux Mint 8 Helena

Linux Mint „Helena“ je konečně venku. Tato distribuce je založená na Ubuntu 9.10, ale má několik vlastností proč jí na desktopu rád preferuji oproti klasickému Ubuntu.

  • neobsahuje standardně v Ubuntu instalovaný Evolution, ale Thunderbird
  • má stále Pidgin jako IM
  • vypadá dobře a má dostupné kodeky (mediaubuntu.org)
  • vlastní vylepšení (mintInstaller, mintUploader, mintUpdater)

mint8

Je to prostě dotažené a např. ve Ubuntu 9.04 mi nefungovalo v MC klávesa CTRL+\ pro hotlist a v Linux Mint 7 bez problémů. Jsou to detaily, ale je příjemné, že to funguje jak má. Pokud jste o Linux Mint neslyšeli, tak doporučuji za vyzkoušení.

Categories: linux Tags: ,

Switch to our mobile site