Gephart – PHP framework

PHP

POZOR! Článek jsem napsal před více jak rokem, a tudíž už nemusí reflektovat můj nynější názor nebo může být zastaralý.

Je načase vyjít s tím ven. Už nějaký čas pracuji na novém projektu, který usnadní workflow pro tvorbu jednoduchých rutinních webů. Nástroj, kde si celý web doslova naklikám včetně designu a výsledkem bude hezký kód, který bude možné bez problému upravovat. (Napojovat na API, generovat exporty, napojení na firemní systémy, a tak podobně.)

Celé to mám v hlavě připravené a prodiskutované s více lidmi a od nového roku se jedná o můj hlavní hobby projekt, kterému jsem věnoval přes 200 hodin a řekněme, že jednu čtvrtinu mám hotovou. (Nebojte, už se dostávám k tématu článku.)

Myšlenka je taková, že si naklikám přednastavené bloky, designově je upravím podle grafického návrhu, blokům zadám jejich význam, například že blok rozdělený na tří sloupce jsou poslední tři novinky, nadesignuji entity – tedy to jak se reprezentují v administrace a jaký význam mají jednotlivé části bloku. A z toho všeho vznikne web s administrací. To celé v hezkém a upravitelném kódu, to je cíl.

Vývoj jsem rozdělil na 3 etapy.

  1. Framework,
  2. generátor back-endu,
  3. a generátor front-endu.

Framework mám hotový tak z půlky a paralelně s ním mám rozpracovaný generátor administrace.

V tuto chvíli je framework, jehož jsem nazval Gephart, již veřejně dostupný na adrese www.gephart.cz, kde je aktuální dokumentace a návod ke stažení a k instalaci. Neustále pracuji na jeho zlepšení, což je nekonečný běh a proto jsem v určité fázi již začal připravovat balíček s generátorem administrace, který zveřejním jen co ho odladím.

Ale zpět k frameworku.

Proč nový PHP framework?

Rozhodně ne proto, že nový je vždy lepší. U tohoto typu softwaru je nutná jeho vyladěnost roky používáním, a proto je to spíše velmi zjednodušená verze Symfony, kde mám jen to, co potřebuji a stylem jaký mi vyhovuje. Kromě šablonovacího systému Twig jsem kód psal sám.

Hlavní důvod, proč má pro mne další PHP framework smysl, je ten, že potřebuji nástroj, který bude velmi rychlý (i bez cache při vývoji), ale zároveň co nejlépe napsaný, aby na něm mohlo pracovat více lidí.

Použití frameworku

Framework lze použít jako celek nebo, jak už je u většiny frameworků zvykem, jako jednotlivé komponenty, o některých už jsem se zde rozepisoval dříve.

Následujícím příkazem se do složky “blog“ nainstaluje ukázková aplikace s celým frameworkem, kde je základní controller a šablona:

composer create-project gephart/framework-standard-edition blog

Framework obsahuje: DI kontejner, Event Manager, šablonovací systém Twig, čtečku annotací, základní jednoduché ORM, komponentu pro routování, pro uživatelské zabezpečení, pro jazyky a pro sessions.

Postupně komponenty ladím, poměrně často vycházejí nové verze, ale už nyní jsou použitelné pro jednoduché weby. Většina věcí je popsána v dokumentaci, stále ji ale doplňuji.

Nebudu zde uvádět tedy konkrétní ukázku kód, zbytečně by to tu bylo podruhé, vice proto lze najít v dokumentaci.

Díky za dočtení až sem!

Znáte někoho, komu by článek mohl pomoct? Zasdílejte mu ho :)

Komentáře