Zend Studio a Drupal

Programátoři, kteří chtějí vytvářet webové aplikace s PHP na profesionální úrovni, asi mají jediné řešení pro ladění svých skriptů, které je dostatečně komfortní a funkční. Na mysli mám Zend Studio a Zend Platform. Toto vývojové prostředí pocházející přímo od spolutvůrců PHP umožňuje pohodlné ladění skriptů, a to dokonce i na serveru. S troškou snahy jej nastavíte tak, abyste si s jeho pomocí mohli připravit webové stránky poháněné Drupalem. Navíc vám pomůže s odladěním případných doplňkových modulů.

Nezbytná příprava – phpMyAdmin, Zend Studio, Zend Platform, Apache

Instalaci Zend Studia asi nemá smysl popisovat, zvládne ji každý, kdo má dostatek rozumu, aby se do ní pustil. Při instalaci si nezapomeňte stáhnout vývojovou verzi serveru Zend Platform. Obsahuje Apache, PHP i MySQL. Nicméně máte možnost použít i stávající webový a databázový server.

Po instalaci a restartu zkuste přejít na adresu http://localhost/ZendPlatform. Mělo by se zobrazit ovládací rozhraní Zend Platform, což je důkaz, že se instalace zdařila. Přestože Zend Studio obsahuje vestavěného správce databází, doporučuji stažení a instalaci databázového nástroje phpMyAdmin. Rozbalte jej do složky c:\Program Files\Zend\Apache2\htdocs\phpmyadmin\.

Před tím, než jej spustíte na adrese http://localhost/phpmyadmin, otevřete soubor c:\Program Files\Zend\Apache2\conf\httpd.conf, najděte řádek s DirectoryIndex index.html a upravte jej doplněním na DirectoryIndex index.html index.php. Tím zajistíte automatické načítání souboru index.php při otevření složky v prohlížeči. Po změně nastavení nezapomeňte restartovat server, např. pomocí konzole c:\Program Files\Zend\Apache2\bin\ApacheMonitor.exe.

Nastavení phpMyAdmin

Vytvořte složku c:\Program Files\Zend\Apache2\htdocs\phpmyadmin\config a otevřete si phpMyAdmin na adrese http://localhost/phpmyadmin. Budete vyzvání k nastavení základní konfigurace, takže spusťte nabízeným odkazem nastavovací skript.

Klepněte na tlačítko Add v rámečku Servers. Vyplňte příslušné údaje. Pro bezproblémové připojení k MySQL serveru Zend Platform je potřeba nahlédnout do souboru c:\Program Files\Zend\ZendPlatform-2.2.3\MySQL\etc\my.cnf a použít údaje odsud. Důležité je zejména číslo portu, na kterém databáze běží!

Uživatele ponechejte nastaveného na root, heslo není třeba vyplňovat. Po návratu do nastavovacího skriptu jej nezapomeňte uložit stiskem tlačítka Save. Bohužel z nějakého důvodu nechce phpMyAdmin fungovat s vytvořený souborem config.inc.php ve své podsložce config, na jejíž přítomnosti trvá. Řešení je prosté - tento soubor s konfigurací překopírujte do hlavní složky, kde máte phpMyAdmin. Nyní jej můžete načíst - měl by fungovat.

phpMyAdmin

Vytvoření databáze pro Drupal a jeho instalace

S phpMyAdminem si vytvořte prázdnou databázi, kterou budete používat pro testování s lokální instalací Drupalu. Nezapomeňte upravit oprávnění. Pokud byste se chtěli phpMyAdminu vyhnout, můžete databázi vytvořit pomocí Zend Studia – ve File Manageru se přepněte na záložku SQL, tlačítkem se symbolem + přidejte novou databázi a připojte se k ní. Pak můžete dole v panelu SQL provádět běžné dotazy SQL, konkrétně třeba vytvoření databáze pomocí create database drupal.

Do složky c:\Program Files\Zend\Apache2\htdocs\drupal (případně upravte podle potřeby) rozbalte instalační balíček se systémem Drupal. Ten ve verzi 5 a vyšší obsahuje pohodlného průvodce instalací, takže stačí, abyste přešli na adresu http://localhost/drupal, vyplnili nastavení podle pokynů (a podle souboru c:\Program Files\Zend\ZendPlatform-2.2.3\MySQL\etc\my.cnf). Jestliže jste postupovali správně, pak vás po dokončení nastavení uvítá následující obrázek.

Drupal 5

Stejně tak by měly být vytvořeny příslušné tabulky ve zvolené databázi. Nyní předpokládejme, že chcete ladit nějaký skript nebo modul, který bude součástí Drupalu. Pro jednoduchost budeme pracovat s jeho souborem index.php. Spusťte si Zend Studio a běžte do nastavení Tools | Preferences.

Zend Studio a ladění skriptů

Přepněte režim ladění (Debug Mode) na Server a URL pro ladění upravte tak, aby směřovalo do složky, kde máte Drupal instalován. V případě, že jste postupovali shodně s mým návodem, bude nastavení vypadat, jako na následujícím obrázku.

Zend Studio

Otevřete si soubor c:\Program Files\Zend\Apache2\htdocs\drupal\index.php. Zkuste spustit režim ladění Debug | Step over (klávesa F10). Měli byste být schopni postupně krokovat veškeré procedury v Drupalovi, sledovat naplňování a obsah jednotlivých proměnných.

Zend Studio

Při ladění Drupala můžete narazit na jedno nepříjemné omezení spočívající v nastavené velikosti paměti, kterou může skript v PHP obsadit. Výchozích 8 MB Drupalovi zjevně nestačí, proto je dobré tuto hodnotu změnit. Buď tak můžete učinit pomocí konfigurace v Zend Platform nebo ruční úpravou v souboru c:\Program Files\Zend\Apache2\htdocs\drupal\php.ini, kde najdete řádek memory_limit = 8M a hodnotu zvýšíte např. na 16M.

Zend Platform

Doufám, že vám tento návod pomůže ušetřit zbytečné bolesti hlavy z usilovného přemýšlení nad kombinací Drupal + Zend Studio ve Windows. Budu rád, když mi v příspěvcích pod článkem napíšete své názory na tento článek. Bude-li dostatečný zájem, najdete podrobné návody k různým vývojářským nástrojům a programování webů na Maxiorlovi i v budoucnu.

Informace o redakčním systému Drupal najdete také na jeho českém webu Drupal.cz.

Buďme ve spojení, přihlaste se k newsletteru

Odesláním formuláře souhlasíte s podmínkami zpracováním osobních údajů. 
Více informací v Ochrana osobních údajů.

Autor článku: Jan Polzer

Tvůrce webů z Brna se specializací na Drupal, WordPress a Symfony. Acquia Certified Developer & Site Builder. Autor několika knih o Drupalu.
Web Development Director v Lesensky.cz. Ve volných chvílích podnikám výlety na souši i po vodě. Více se dozvíte na polzer.cz a mém LinkedIn profilu.

Komentáře k článku

návštěvník

Zend neni jedina moznost, protoze mame Eclipse platform s tisicemi nejruznejsich pluginu, podporou debuggingu a temer vsim co umi Zend. Rozdil je vsak v tom, ze Eclipse platform nabizi mnohem vice funkci pro velke mnozstvi programovacich jazyku + je zdarma.

Profile picture for user Jan Polzer

Ano, tisice pluginu, hyperultrahifi nastavení a všemožné uživatelské úpravy jsou to, co lidem vadi u Firefoxu a dalších open source věcí, jako je třeba Eclipse. Pokud někdo nemá problém s nastavením Eclipse tak, aby to fungovalo naprosto bezproblémově jako Zend, pak plus pro něj.

Ale kdo chce mít pohodlí, možnost obrátit se na zaplacenou technickou podporu, kde se mu s jistotou dostane odpovědi, ten si prostě připlatí za Zend Studio.

Jestli mi pošlete nějaký textík o tom, jak si Eclipse přizpůsobit pro ladění Drupala stejně jako Zend Studio, pak ho tu rád zveřejním, i s výrazným odkazem na Váš web.

Mimochodem, než mě někdo nařkne z nenávisti vůči open source, tento příspěvek je psán z Firefoxu, server běží na Linuxu a proti Eclipse taky nic nemám ;-)

-- Jan Polzer, Maxiorel.cz
software, poradenství, weby

návštěvník

Ve FireFoxu muzeme snadno instalovat pluginy (nekolik kliknuti), to je obecne uznavano jako jeho klad, nikoliv zapor. Uzivatel ziskava moznost, ne povinnost.

ad. hyperultrahifi nastavení - jste si skutecne jist tim, co jste prave napsal? Eclipse ma nejlepe resenou konfiguraci ze vsech ostatnich podobne zamerenych produktu, vizte screenshot

Ad. pohodli - u Eclipse Platform ziskate vice funkci, nez mate v Zendu, vesekere aktualizace a instalovani novych pluginu je maximalne automatizovano, bude stacit nekolik kliknuti v menu a razem mate podporu vseho, na co si jen muzete vzpomenout a to cele Vas nebude stat zadne $$$.

Ad. technicka podpora - jednak se muzeme ozvat primo na oficialnich strankach produktu, ktere jsou vysoce navstevovane (tam se hlasi zejmena bugreporty a pozadavky na nove features), dale mame ruzna diskusni fora pro novacky, kde si muzete nechat poradit s cimkoliv a v neposledni rade existuji IRC channely primo zamerene jak na koncove uzivatele, tak na developery Eclipse Platform. Prave tam se dockate zcela okamzitych odpovedi na Vase dotazy (link).

Eclipse komunita rozhodne nenecha chybove hlaseni ci zadost o pomoc lezet ladem a jak byva u OpenSource produktu zvykem, zadnou hmotnou odmenu si za uzivani sveho software, ci rady vyzadovat v zadnem priapde nebude, coz je opet nesporny klad. Muzete vsak vyvojare v pripade zajmu podporit libovolnou financni dotaci a tim se podilet na rychlejsim vyvoji novych pluginu.

Ad. textik - Drupal je koneckoncu take OpenSource, proto si myslim ze by bylo narknuti z nenavisti OpenSource reseni velmi posetile, nicmene predevsim kvuli popularite Drupalu jiz navody jak nakonfigurovat Eclipse tomuto CMS presne na miru existuji, v prumeru mivaji zhruba 20 radek textu. Navstivte prosim originalni stranky Drupalu a podivejte se o jak trivialni konfiguraci se to zde bavime. Prelozit takovyto nekolikaradkovy navod do cestiny muze byt pro Vas velice uzitecne navazovani na tento clanek. Ja, ktery Drupal nevyvijim, neuzivam a prakticky nic o nem nevim budu radeji dal psat o tom, co pouzivam / vyvijim ci dobre znam.

Pokud by nejaky ctenar projevil zajem o nejvyspelejsi OpenSource vyvojovou platformu, pak si muze zvolit verzi pro GNU/Linux, pro MacOS X, nebo pro majoritni OS.

Profile picture for user Jan Polzer

Díky za shrnutí. Každopádně si myslím, že placená technická podpora u komerční firmy může (ale vždy nemusí...) být lepší řešením, než spoléhání na to, kdo mi odpoví ve fóru. Tedy jak pro koho, je dobře, že máme možnost volby.

-- Jan Polzer, Maxiorel.cz
software, poradenství, weby

návštěvník

Možná by se v úvodu článku hodilo zmínit 2 free alternativy k Zend Studiu - PDT (neboli malý bráška Zend Studia) a phpEclipse.

Já celkem dlouho používám Eclipse + PDT (už tomu bude více jak rok...). Editace fungovala +/- pořád, občas zlobil Debug (používám XDebug a až do verze 1.0 se musel instalovat zvlášť jako neoficiální, časem oficiální plugin od Dava Keysleyho z IBM). V Drupalu jsem s PDT neměl moc potíže. Několikrát mi díky propojením s xDebug a možnosti Remote debugging ušetřilo spoustu času ... třeba když hledáte chybu mezi 10-20 zahnízděnim - což v Drupalu díky jeho architektuře "sdílej všechno se všema" není problém.

Semtam jsem přidal nějaký plugin, nebo pustil update, výsledek většinou byl že jsem PDT musel jednou za měsíc kompletně schodit a vše nainstalovat znovu. Časem jsem zjistil, že automatický update apod. způsobují jen větší množství chyb, takže platí okřídlené "nevrtej do něčeho, co funguje", to bych u Eclipse 3x podtrhnul :-) Jako nejlepší strategie se mi osvědčilo nainstalovat kompletní verzi (tedy PDT a Eclipse dohromady), nikoliv PDT instalovat zvlášť + několik ověřených pluginů... pak mi to většinou pár týdnů vydrželo bez pádu.

Teď potřebuju vedle Drupala sem tam udělat něco do Joomly, která je narozdíl od Drupalu postavená na třídách a objektech - a tam začlo PDT těžce ztrácet dech. Když mi před pár dny Eclipse + PDT kleklo při snaze editovat jeden řádek s přiřazením objektové proměnné během pěti minut třikrát, ztratil jsem trpělivost a stáhnul trial Zend Studia for Eclipse...

Při srovnání obou verzí - tedy PDT a Zend Studia, není rozdílů za těch $299-$399 tolik. Když pominu stabilitu, která se od placeného produktu očekává, tak je vše o chlup rychlejší, včetně startování, je zde lepší detekce chyb (např. varování "nepoužitá proměnná" apod.) a hlavně přibyl refaktoring, na který jsem se velmi těšil, ale bohužel mě zatím celkem zklamal, v 50% případů nezafungoval správně a vyrobil akorát spoustu "errorů" (snad to brzo opraví), je zde také samozřejmě přímá podpora Zend Frameworku, to je mi ale prozatím k ... To je z mého pohledu asi tak všechno - moc nechápu čím tu instalačku tak nafoukli (cca 120MB Eclipse + PDT vs. 320MB Zend Studio for Eclipse).

Za $355 ($299 + VAT) mi toho přijde trochu málo. Alespoň co se týče "fičur". Ale zřejmě do něj půjdu, na Eclipse jsem už navyklej a za stabilitu se holt taky platí a díky klesajícímu dolaru těch $355 není už dneska taková pálka... mám ještě 28 dní na rozmyšlenou :-)

Přidat komentář

Odesláním komentáře souhlasíte s podmínkami Ochrany osobních údajů

reklama
Moje kniha o CMS Drupal

 

Kniha 333 tipů a triků pro Drupal 9


Více na KnihyPolzer.cz

Poslední komentáře