Kdo se zajímá o Zend Framework, tak určitě zaregistroval, že vyšel preview release Zend Frameworku 1.5. A tak jsem si říkal, že na něm svůj blog otestuji a pokusím se ho připravit k nasazení na verzi 1.5. Ale ouha, jako už po několikáté jsem narazil. K tomu, abych se pokusil o přepsání svého řešení layoutu přes action plugin na Zend_Layout, jsem se už vůbec nedostal . Ve frameworku je totiž i minimálně jedna další změna, o které se moc nehovoří.
Nejprve jsem narazil na to, že u Zend_Cache se pravděpodobně trochu změnily možnosti v názvech parametrů pro backend. Konkrétně u backednu pro soubor jsem dříve používal parametr cacheDir
, nyní cache-dir
, to by bylo OK, dostal jsem výjimku a mohl to hned napravit. Ale pak přišel velký zásek. Vypadla mě výjimka o tom, že nebylo možné najít view skript, protože není v cestách, které si framework sám odvozuje podle konkrétního modulu, controlleru a akce - viz. manuál.
Po dlouhém pátrání, jsem nakonec objevil toto:
Inicializace View pro konkrétní akci probíhá přes action plugin ViewRenderer (pokud se používá). Ten vytvoří View objekt přes metodu initView() a nastaví mu cesty pro view skript pro šablony, helpery a filry. Pravidla pro vytváření jsou v manuálu. Já mám u sebe na win desktopu umístěn projekt v adresáři
C:\msys\1.0\home\mojehome\php\homepage
Ale jak jsem koukal tak ViewRenderer si dovodil cesty
C:\msys.0\home\mojehome\php\homepage
Jde o to, že nově do ViewRenderu a vlastně i celého frameworku přibyl objekt Zend_Filter_Inflector
, to je ta změna, o které se moc neví. Tento objekt se u ViewRendereru stará o odvození cest k view skriptům, helperům atd. Problém je v tom, že interně používá PHP funkci preg_replace
. Která má problémy s kombinací zpětné lomítko a číslo (v mém případě tedy \1
). Dokonce jsem na to našel i minulý týden reportovaný bug.
Pak jsem ještě přišel na to, že bylo předěláno vytváření cest k view helperů a chování Zend_Locale_Data, které využívám k dohledávání názvů měsíců. Tím jsem s tím skončil a prozatím si dám od nového ZF pokoj, počkám si na 1.0.4 a pak uvidíme dále.
Komentáře (4)
Ono těch problémů je v 1.5PR více, třeba Zend_Loader teď nahrává skripty výrazně pomaleji. Takže bude opravdu lepší počkat si až na nějakou stable verzi.
[1] - Tak tak, taky jsem se těch problémech se Zend_Loaderem někde dočetl.
Jinak jak jsem se tak hrabal v těch zdrojácich ZF 1.5, tak si myslím, že i bez Zend_Loaderu bude mít nový ZF o dost horší performance. Už jen ten inflector filter. Jsem zvědav, až si předělám ten svůj action plugin pro layout na Zend_Layout.
Posílal jsem ti mail o přednášce. Nespadnul ti do spamu?
Spadl, ale našel jsem ho a odpověděl jsem.
Komentáře jsou uzavřeny.