Jak jsem začal díky školení Webuni.cz se Symfony 2 a postavil svou první aplikaci

Mou hlavní obživou jsou sice projekty na Drupalu, ale člověk se musí dál rozvíjet a neustrnout. Začal jsem si hrát s PHP frameworky a v době, kdy se objevily alfa verze Drupalu 8, mi bylo jasné, že se musím začít zajímat o Symfony 2. Výrazně mi s tím pomohlo školení u Webuni a nyní mám za sebou již první reálnou aplikaci napsanou v tomto frameworku.

Reklama

Drtivá většina webů, které stavím, je na Drupalu. Hodně webů stavím i na WordPressu, sem tam něco na GetSimple. Tou stavbou nemyslím naklikání a instalaci šablony, ale také tvorbu modulů a hlavně témat vzhledu na zelené louce. Lidi to mají tendenci zaměňovat.

Nepůjdu úplně ke svým začátkům, ale mám za sebou Delphi, Visual C++, C#, Python a většinu času trávím v PHP a souvisejících věcech (CSS, jQuery, HTML5…). O PHP frameworky jsem se začal zajímat proto, že se mi na mysl neustále vracel vzkaz od jednoho čtenáře tohoto webu: „Nepropagujte prosím stále ten Drupal. Jsem programátor vyškolený v devadesátých letech a toto už neumím, bere mi to práci.“ Nechtěl jsem a nechci dopadnout jako tento pán, takže se snažím rozšiřovat si obzory. Účastí na školení, sledování webcastů a podobně.

Proč jsem začal s CodeIgniterem a skončil u Symfony 2

Prvním PHP frameworkem, se kterým jsem začal před již delší dobou koketovat, byl CodeIgniter. Je fakt, že jeho vývoj není moc pružný, moc toho neumí, nereflektuje na aktuální novinky v PHP, ale zase je velice rychlý a co je hlavní – lze se jej velmi rychle naučit, v podstatě během jednoho odpoledne a večera. Stačí vynechat pár seriálů v televizi. Nedávno byl jeho vývoj předán z EllisLabu do rukou British Columbia Institute of Technology, tak snad se posune dál.

CodeIgniter mi poskytl neocenitelnou službu. Ukázal mi, jak vůbec PHP frameworky fungují. K čemu je routování. Jak se dá řešit práce s databází jinak, než sestavováním připojovacího řetězce a následným zápisem SQL. Co je to Model – View – Controller. A spoustu dalších věcí, které doteď využívám.

Koukal jsem samozřejmě i na Nette, Kohanu a tuším CakePHP, ale CodeIgniter mě získal srozumitelností a jednoduchostí. Doteď si myslím, že pro začátek asi není nic lepšího.

Samozřejmě postupem času mi přestal stačit. Udělal jsem na něm několik webových aplikací, které doteď ke spokojenosti jejich majitelů běží a slouží. Ale cítil jsem, že potřebuji něco víc. Například šablonovací systém, který jsem v CI používal, nebyl to pravé ořechové.

Někdy letos v létě jsem tedy opět koukal na Nette, abych zjistil, že takto asi ne. Potřeboval jsem něco, co není česká lokální záležitost, byť neskutečně oblíbená. Na Phalcon, který mě zaujal svým konceptem coby speciální zkompilované knihovny a tedy velkou rychlostí. A po nějaké době jsem opět kouknul na Symfony 2. Leželo mi v hlavě. Z několika důvodů.

Drupal 8 je totiž postaven právě na frameworku Symfony 2. Využívá spoustu jeho částí. Šablony vzhledu v Drupalu 8 využívají šablonovací systém Twig a konfigurace zapisované ve formátu YML. Další důvod pro to, abych na Symfony 2 kouknul. Spláchnu tak dvě mouchy jednou ranou, neboť mi to pomůže lépe se zorientovat v novém API Drupalu 8 a zároveň budu schopen používat nějaký robustní framework pro aplikace, které nechci na Drupalu stavět.

Školení u Webuni bylo k nezaplacení

Začátky byly docela těžké. Symfony 2 je něco úplně jiného, než CodeIgniter. Je to jiná liga v tom, co umí, v možnostech rozšiřování i v dokumentaci a náročnosti udělat první jednoduchou aplikaci. Hodně jsem se v tom babral a přiznám se, že podle dokumentace, tak jako v případě CodeIgniteru, mi seznamování se Symfony 2 moc nešlo.

Když jsem si prohlížel web Brno PHP 2014, všiml jsem si tam loga Webuni a ze zajímavosti jej rozkliknul. Jaké bylo moje překvapení, když jsem zjistil, že v Česku se nabízí školení Symfony 2 a shodu okolností bude nejbližší kurz v Brně. Dlouho jsem nepřemýšlel a podal jsem přihlášku.

Průběh školení Symfony 2 u Webuni

Na kurzu se nás sešlo pár, což mi vyhovovalo. Probíhalo to v takové komorní atmosféře, podobně jako moje kurzy Drupalu, které vedu v počítačové škole Gopas. Za projektem Webové univerzity (nebo Webuni) stojí dva pánové, kteří mají se Symfony 2 bohaté zkušenosti – Petr Jaša a Martin Hasoň. Druhý jmenovaný navíc aktivně do Symfony 2 i jiných PHP knihoven přispívá, takže jde o odborníky opravdu povolané (což si můžete prověřit zákeřnými dotazy během školení).

Školení Symfony 2 v jejich režii má sice pevně daný čas, tuším od devíti do šesti večer, nicméně oba dny kurzu jsme přetáhli díky zájmu nás, školených. Musím dodatečně poděkovat za ochotu obou školitelů.

Dvoudenní školení je určeno dle popisu pro ty, kdo mají se Symfony 2 nějakou zkušenost, takže se tím eliminují naprostí začátečníci, nicméně bez problému jsem jej zvládl i já, se zkušeností „babráka“, kterému to podle dokumentace moc nešlo.

Začíná se tím, že se probere instalace Symfony 2 (kupodivu). Všichni jsme měli vlastní notebooky, takže jsme to ověřili v praxi. Hned jsme si vyzkoušeli také composer. Úvod byl pak hodně teoretický, což se vlastně táhlo až do odpoledne. Hlavně po obědě jsem docela toužil po nějakém praktičtějším zapojení.

Vzhledem k množství věcí, které pánové chtěli během kurzu probrat, asi není dost dobře možné si postupně všechno procvičovat. Ti z nás, kteří ze začátku, vše pečlivě bušili do svých notebooků toho dříve či později nechali. Ukázkové projekty, které se na školení probíraly, jsme po učesání dostali v dalších dnech na mail a mohli z nic dále čerpat. Já jsem sice toho názoru, že když si člověk něco rovnou zkouší, lépe si to zapamatuje, ale nakonec to nějak dopadlo.

Mimochodem, v rámci školení pak každý z účastníků dostane kromě 50% slevy na PHP Storm i bezplatné konzultace ke svým projektům během jednoho měsíce po školení.

Po prvním dni jsem pln dojmů večer sedl k počítači a testoval. Kupodivu ovšem vůbec ne Symfony 2, ale různé pomůcky a nástroje příkazového řádku, které jsem na školení objevil. I z tohoto důvodu jsem byl za školení rád.

Druhý den byl méně teoretický a bylo více praktických ukázek s na místě tvořeným kódem. Byť si jej už nikdo nepřepisoval, tak to bylo podnětné. Probralo se všechno, co je uvedeno v osnově k tomuto školení.

Samozřejmě je těžké se zavděčit úplně všem, takže v průběhu školení padla výtka na přílišné setrvávání v teoretickém výkladu k zabezpečení a voterům. Já bych to naopak uvítal a zase mi přišla nudná pasáž o testování aplikací pomocí PHPUnit a Behatu. Více času bych možná věnoval Doctrine ORM a práci s databází.

Školení prokazatelně zabralo

S tímto článkem jsem čekal dva měsíce, na školení jsem byl někdy tuším v září. Byl jsem zvědav, jak moc mi to v reálu se Symfony 2 pomůže. Že se mi školení líbilo a nelitoval jsem ani v nejmenším vynaložených financí, je jedna věc, skutečný přínos pro praxi druhá.

A musím říci, že přínos to opravdu byl. Asi nemůžete čekat, že po dvou dnech školení, kde na vás vychrlí spoustu nového, postavíte velkou úžasnou aplikaci. Ale mě to udělalo jasno v terminologii a umím používat dokumentaci. Vím, co mám hledat, když potřebuji to či ono. Dostal jsem spoustu tipů na zajímavé balíčky i weby, kde je hledat. Nemám problém pracovat s databází pomocí Doctrine, byť pořád nějak tápu v asociacích a One-to-many a Many-to-one jsem zatím nikdy nenastavil na první dobrou. Ovšem před školením jsem vůbec nevěděl, o čem je řeč.

Nejdůležitějším potvrzením, že školení pro mě mělo skutečný užitek, je funkční webová aplikace využívající formuláře, Twig, Doctrine ORM, ACL a několik doplňkových bundlů. Už teď se mi investice do školení vrátila. Co chtít více?

Tagy: 

Reklama

Přidat komentář