Mirin webspace

Nejbohatší život má ten, kdo žije s minimem nároků

30. 7. 2010 - Komentáře (9) Zend Framework PHP

Letem světem ZF a PHP

Dnes jen tak zlehka nadhodím pár posledních událostí, které se udály ohledně PHP a Zend Frameworku. Ono už je to dost dlouho, co jsem psal něco k Zend Frameworku, takže to až zas tak horké nebude, k PHP to bude snad o něco čerstvější, ale taky už to až tak moc nesleduji, komentáře tedy vítány.

ZF 2.0 se blíží

Již někdy v prvním čtvrtletí se hlavní vývojáři Zend Frameworku po vlně různých dotazníků a průzkumů dohodli, že verze 2.0 Zend Frameworku, která dle dohody jako první verze po dlouhých letech může porušit zpětnou kompatibilitu, pojede jen na PHP 5.3 a bude tak moci naplno využívat všech nových možností, které PHP 5.3 nabízí - jmenné prostory, anonymní funkce, goto …. Začalo se na tom dělat ve stávajícím svn, ale za nějaký čas se dohodl přechod na dnes tak populární git. Takže ZF 2.0 už bude vyvíjen v gitu s hlavním repositářem na serverech Zendu (http://git.zendframework.com), mirrorovaným na githubu. Na wiki už se vyklubalo trochu dokumentace a Matthew napsal i nějaký ten článek a zprávu do mailing listu, jak to pokračuje a co se chystá.

Je pravda že změna to bude dost masívní, ale pořád se asi přesně neví jaká. Určitě lze čekat velké změny ve věcech MVC, databází a PDF, to jsou hlavní věci, které mají full time Zend Framework vývojáři na starosti. Mimochodem jsou tři - Matthew Weier O'Phinney, Ralph Schindler a Alexander Veremyev. Právě Matthew jako vedoucí projektu nakonec nastínil roadmapu spíš ve smyslu koncepce, nikoli už konkrétních změn. Důraz bude kladen na tyto věci:

  1. větší důraz na interface - umožnit vývojářům co největší volnost v pluginování, umožnit dobrou dependency injection všude, kde to dává smysl.
  2. zbavit se magie - ve frameworku se na pár místech intenzivně využívá magických metod __get(), __set() … To by mělo být zrušeno a nahrazeno explicitními zápisy, bude to mnohem přívětivější pro IDE a rychlejší, magic methods jsou v PHP dost velká brzda.
  3. pravděpodobně se zredukuje počet komponent - framework je dost nabotnalý a jsou komponenty, o které se nikdo moc nestará. Byl už ustaven nějaký "výbor", který by na to měl dohlídnout a sledovat to i nadále.

Už teď je toho spousta hotová, celý framework už se převeden do namespaces včetně hromady testů, průběžně se importují bugfixy ze stávající verze, lidé už rozjeli práci na komponentách, které mají na starosti pro verzi 2.0. Až mě to překvapuje, jak to sviští dopředu, no podívejte na ten github, budete koukat. Jen to převedení na namespaces bylo asi dost maso, myslím že většinu toho zmáknul Ralph s pomocí nějakého poloautomatizovaného nástroje, který také udělal.

Zatím mám z toho dost dobrý pocit, samozřejmě mezitím vychází dál bugfix verze pro 1.10 a připravuje se 1.11, která se dál jede v svn. Uvidíme, jak jim to půjde dál.

Mimochodem, trochu jsem upravil zdrojáky blogu a krásně to jede i na poslední verzi ZF - pro zájemce opět na stránce s informacemi. Moc dobrou práci odvádějí lidé okolo ZF, maximální spokojenost.

PHP 5.2 už nebrat, co s trunkem

Docela mě překvapilo, že moc lidí neprotestovalo ohledně konce aktivní podpory řešení chyb pro řadu 5.2. Není to sice úplný konec podpory 5.2, security patch asi nějaký bude, ale v reálu je lepší se soustředit na uprade na 5.3. Uvidíme, jak to bude dál, ale zatím nic nenasvědčuje tomu, že by se toho mělo moc změnit. V našich luzích a hájích v podstatě ticho po pěšině.

Jinak trunk PHP už toho poměrně dost spolkl, nějaké performance patche, dost z traitů a hlavně byl dost humbuk okolo kontroly primitivních typů v parametrech funkcí, jakmile Derick docela starý Iljův patch commitnul, tak se rozpoutala masivní diskuse. Zatím to tam pořád je, včetně testů, takže teoreticky se to může v nějaké z příštích verzí PHP objevit, mezitím vznikly na wiki další návrhy co s tím, tak uvidíme co se z toho nakonec vyklube.

Celkově se mi zdá, že už pomalu začíná být problém vyznat se v tom, co je v trunku, co v 5.3 a hlídat bugfixy, to byl asi také jeden z důvodů konce aktivní podpory 5.2.

A ještě jedna velmi příjemná změna v trunku, patch na podporu syntaxe referencování polí při volání funkce je už také commitnutý. Takže možná brzy už bude možné psát

function fruit () {
  return array('a' => 'apple', 'b' => 'banana');
}
 
echo fruit()['a']; // apple

Komentáře (9)

  1. sNop - 30. 7. 2010 21:37

    Cau,

    no ja nevim, mne osobne dost zajima inegrace Doctrine do ZF, preci je to hotove reseni a lepsi nez si psat stale dokola nejake datamappery pro Zend_Db, ja mam v tem docela prehled, ale mnoho uzivatelu by to 100% uvitalo, nebo na CZ a SK webech o teto problematice neni zhola nic.

    Ale co by mne osobne potesilo je RIA pomoci DOJO, plati to stejne co u Doctrine, ja mam vtem tak isto prehled a makam na administraci pro svuj eshop, ktera je kompletne v Dojo, tak nakonec se to bude dat primo zabalit do Adobe Air a cely eshop manager bude vlastne jak desktopova aplikace, ale samo se bude dat prihlasit i pres webovy prohlizec.

    A kdyz mas chut a naladu se hrat s Dojo, tak by to nadherne osvezilo vzhled celeho webu, se muzes mrknout na novou theme Claro, kterou udelal IBM a byla uvolnena spolu s Dojo 1.5 vid link http://download.dojotoolkit.org/release-1.5.0/dojo-release-1.5.0/dijit/themes/themeTester.html predtym byla jakou defaultni theme tundra, je to docela supa, naplno se vyuziva CSS3 a facha to i v IE6.

    Nebo dalsi navrh, kdo dela s jQuery a je pronej Dojo moc rozsahly, tak Dojo poskytuje komponenty, ktere umozni psat takou stejnou syntaxi jako jQuery, teda $().example(); a pritom to jede na Dojo FW, toto by mne hodne zajimalo, nebo to jsem blize neskoumal.

    Ale co ti je asi nejbliz, tak napsat par dilu o Zend_Cache a jak teto komponenty max. vyuzit, kteto problematice jsem se jeste na zoubek nekoukl ( tym myslim uplne do podrobna ), takze mne osobne by padlo par dilo o Zend_Cache a jak a kde se da vyuzit, preci performance optimalization se vzdy dela na konci projektu a tam jsem se jeste nedoslal.

    Ty seriale o PHP extenzich byli fajn, ale myslim ze staci, nebo to je docela hardcore a moznost vyuziti je asi mene jak 1% ( i to je 1% je moc ).

    Takze ja bych osobne uvital osvezeni teto stranky co se tyce AJAX, tedy co nejmene refreshu stranky ( dobry priklad je facebook, kde se napr. vsechny nastavena odesilaji ajaxem na server a refreshu je tam fakt hodne malo ).

    Diky za nove info o ZF2 i kdyz o vsem jsem uz vedel, ale vzdy si rad prectu tve prispevky. ;)

    Doufam ze jsem ti hodil brouka do hlavy a neco s teho te zaujme natolik, jak kdyz si zacal delat na tomto webu ( Dojo by te docela pohltilo ;) )

    Džus

  2. koubel - 31. 7. 2010 00:47

    [1] - Doctrine2 je zatím pořád beta, takže zatím času dost a uvidím, zda ho vůbec u sebe využiji, na těch pár tabulek mi stačí si ten mapper napsat ručně. Jinak Dojo je určitě na RIA výborné, javascriptové RIA mě ale moc nebere, i když ze všech RIA technologií je v něm asi největší budoucnost. Všechno tohle + ZF jsou jen okrajové mimopracovní zájmy a poslední dobou mě prostě chytlo psaní PHP rozšíření v C/C++ a asi to tak ještě nějakou dobu zůstane. Každopádně díky za tipy, ale spíš s ničím moc nepočítej :), já na zájmy čtenářů moc nehledím.

  3. Václav Novotný - 1. 8. 2010 10:19

    Osobně mám velikou radost z toho, kolik novinek je nyní v trunku PHP. Vypadá to, že bychom se mohli dočkat dalších velkých změn. Na druhou stranu si říkám, jestli by nebylo lepší, kdyby vývojáři zahodili celou stávající práci a napsali PHP nanovo. Za ta léta to musí být bastl.

  4. koubel - 1. 8. 2010 23:37

    [3] - podle mě to není až taková hrůza, samotný Zend Engine - jádro celého PHP není zas až tak špatné, nejsem tedy žádný odborník na VM. A i kdyby, dalo by se nahradit něčím lepším, teď zrovna letí llvm. Do určité míry je to možná tím, že za tím stál převážně Zend. Horší už je to s tím zbytkem - extenze snad na všechno možné, nastlané vedle sebe bez ladu a skladu.

  5. dafodil - 2. 8. 2010 17:14

    Diky za shrnuti ZF 2.0.

    V tom co pise sNop me celkem zaujalo co vyprodukovalo IBM s tim Dojo, asi prejdu ze ZendX/JQuery na Dojo ;)

  6. koubel - 2. 8. 2010 17:59

    [5] - Proč ne, já bych už také asi používal Dojo, ale v práci máme výhradně JQuery a vzhledem k tomu, jak málo se dostanu k něčemu ze ZF, tak mi ta možnost použít JQuery vyhovuje.

  7. sNop - 2. 8. 2010 18:34

    jen bych podotknul, ze Jquery ma jine zamereni nez Dojo a oba FW jsou urcene pro jine veci

    je to asi tak ze dojo namespace = jquery a dijit namespace = jquery ui a v dojox je vse mozne i nemozne ;)

    A co je na dojo asi nejlepsi je podpora pro postihnute lidi ( ja to nepotrebuji ), ale je super ze i v teto oblasti je dojo spicka

  8. dafodil - 3. 8. 2010 13:08

    Jo jasne, ja jen ze pouzivam jQuery UI ale oproti tomu dijitu co sem videl, se neda moc srovnavat ;)

  9. sNop - 3. 8. 2010 15:26

    Tak to je nesrovnatelne, komercni alternativa je ExtJS, ale pro open source projekty poskytuji bezplatnou licenci, kdyze mne neobmedzuji finance, tak na 100% zvolim ExtJS.

    Ale kvalita ExtJS a Dojo je fakt srovnatelna, ale komercni produkt je komercni produkt.

Komentáře jsou uzavřeny.