Fuel: Proč psát nový framework v PHP?
Phil Sturgeon, autor mnoha knihoven pro CodeIgniter a poměrně známé jméno v PHP komunitě, se, podobně jako řada dalších PHPčkařů, pustil do tvorby nového PHP5.3 frameworku, nazvaného Fuel. Tento framework nabízí některé zajímavé vlastnosti, jako např. CLI utilitu Oil pro provádění některých operací (scaffolding, migrace apod.). Phil ve svém článku, který pojal jako zdůvodnění toho, proč vůbec nový framework tvořit, přirovnává psaní PHP frameworku k určitému „vstupnímu testu“, podobně jako před osmi lety každý psal „klon phpBB“.
Phil na obranu svého postupu říká: „Ano, je spousta frameworků. A taky je spousta aut, a přesto se Ford snaží vyvíjet stále lepší modely! (…) Vylepšit existující? Ale mně se nelíbí, jak dělá určitou věc. Co mám tedy dělat? Psát jim a přesvědčovat je, že to je špatně, nebo napsat patch a doufat, že ho začlení? (…) Mám rád CodeIgniter, Kohanu a Rails, z každého z nich určitou část, ale ten zbytek mě štve.“
„Práci s frameworkem může urychlit, když máte a) dostatek dokumentace a b) dostatek vývojářů, kteří přemýšlí stejně jako vy. Rails jsou obrazem toho, jak si v 37signals představují, že má vypadat kód. Mají své konvence a nástroje, připravené tak, aby jim umožnily vytvářet aplikace velmi rychle. Skvělé. A když se mi jejich konvence nelíbí, tak co mohu dělat? No – nic! (…) Většina věcí, co v Rails fungují, jsou prostě skvělé. Spousta frameworků se pokoušela Rails napodobit, a pohořela. CakePHP se o to snažil, a skončil jako komplikovaný kus software, který má ten nejhorší výkon, jaký jsem kdy viděl. (…) Jenže zákazníci požadovali PHP, protože zbytek jejich systémů je v PHP.“
Co dělat, když máte rádi Rails, ale zákazník chce PHP? Phil píše: „Nejlepší věci, co na Rails miluju, jsou gemy, migrace, irb, scaffolding (v malých dávkách) a rakes. Bylo by skvělé, kdybych mohl tohle mít v PHP. (…) Napsal jsem si to všechno do utility Oil. Hej! Možná jsem měl tyhle funkce napsat do Kohany, ale pak bych se musel ptát hlavních vývojářů, jestli je to pro ně zajímavé, jestli to splňuje jejich standardy, jestli na tom už někdo jiný nedělá, jestli to je směr, kterým chtějí, aby se jejich framework ubíral, se kterou verzí by se to mělo spojit, bla bla bla…“
Bude Fuel opravdu reálnou alternativou pro další PHP frameworky, nebo ho potká osud většiny frameworků? Uvidíme – každopádně přístup, který nabízí, je velmi slibný.
„bych se musel ptýt“