K dnešnímu svátku všech Karlů jsem se rozhodl že vám dám dárek. A to tento blog. Před pár dny jsem začal vyvíjet vlastní PHP framework. Vím, existuje jich tuny, ale kdo si nenapíše svůj, není in. Hlavní je, že občas přijdu na nějaký zajímavý fakt, který by stál za sdělení (nebo sdílení)? A právě tato snůška faktů se bude postupem času objevovat v tomto rádoby blogu.
K čemu další framework?
Posledních několik let jsem strávil hledáním toho jednoho vhodného, který by mi vyhovoval. Nenašel jsem. Zkoušel jsem jich mraky, ale všechny měly stejnou vadu – nenapsal jsem je já. Přesvědčil jsem se o tom, že ten pocit, který člověk zažívá, když vyvijí aplikaci na vlastním frameworku, je k nezaplacení. Navíc, můžete si všechno udělat podle vašich potřeb.
Inu, i já jsem začal vyvíjet framework, podle svých potřeb. Cíl mám jasný: udělat vše co nejjednodušší a implementovat co možná největší množství rozšířených patternů. Protože právě v držení se konvencí spočívá síla každého dobrého frameworku.
Na další poodkrytí úplně nového kusu kódu se můžete těšit už brzy!
2 Responses
Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.
A co Nette? Všichni o něm mluví
Já jsem se na něj minulý týden trošku kouknul a nevypadal špatně
Nette je určitě kvalitní kus kódu. Kdyby byl ve vývoji tak daleko, jako Zend Framework, tak bych o něm určitě uvažoval. Děsím se ale možných změn ve frameworku a tím i nutných změn v aplikacích na něm stavěných.
Ten můj framework je zatím poměrně podobný Nette, což mě docela překvapuje, protože jsem se inspiroval hlavně v Zendu, CakePHP nebo Pradu. Mým cílem není vytvořit framework, ke kterému se musí prostudovat tlustý manuál. Hodlám se držet úplně všech možných konvencí a návrhových vzorů, transparentního objektového modelu a především jednoduchosti.
I můj framework obsahuje Collections, Autoloading (který jsem napsal už v lednu 2007 a přepracoval), MVC model, podporu formulářů, atd. Na rozdíl od těch ostatních se ho ale snažím udržet co možná nejjednodušší. Čeká mě ale ještě dlouhá cesta – zatím mám hotový pouze autoloading, collections, konfigurační třídu, router a databázovou vrstvu.
I u databázové vrstvy jsem zvažoval, zda-li nepoužiju dibi nebo něco podobného. Nakonec ale vyhrál fakt, že v té době ještě neuměla dibi fluent interfaces a zdála se mi trochu těžkopádná, tak jsem si naprogramoval vlastní layer.
Nepotřebuji, aby se můj framework stal webovým hitem, bude mi stačit, když bude k něčemu užitečný.