"The greatest wealth is to live content with little" --Plato

Pozor na ViewRenderer

Nov 16, 2007 | koubel | Zend Framework

Objevil jsem jednu docela důležitou chybu (nebo spíš nedokumentované chování) v controller action pluginu ViewRenderer, který je jedním z nejdůležitějších v Zend Frameworku 1.0.x. Jde o použití velkých a malých písmen v názvech action method a view skriptů.

Jde o to, že ViewRenderer převádí všechny názvy view skriptů na malá písmena, pokud tedy máte controller AdminController a action metodu, která vypadá např. takto

public function addCategoryAction()
{
..
..
}

tak by si člověk řekl, že pokud odpovídající action skript má v
/views/scripts/admin/addCategory.phtml tak je všechno v pořádku, ale chyba lávky. ViewRenderer totiž nejdříve převede název všeho včetně názvu action metody na malá písmena a teprve pak zavolá skript takovéhoto jména. Problém se ještě podtrhne tím, že na Win vám to pojede i se souborem addCategory.phtml, ale na Linuxu ani náhodou.

Nebyl by to až takový problém, kdyby to alespoň bylo popsáno v dokumentaci, jsou na to i bug tickety již od srpna 2007, tak uvidíme, zatím se ale nic neděje. Jsou tedy dvě možnosti:

  • Přejmenovat všechny view skripty (v našem případě tedy na addcategory.phtml).
  • Opravit si to sám přímo v Zend Frameworku dle tohoto návodu.

Při malém počtu view skriptů asi první volba, při větším si buď napsat převodní command line skript nebo druhá možnost.

  • Currently 57.096/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
current rating 1.90/5 (votes: 31)
viewpic 3612x
1 trackback - trackback url
1.   Mirin blog - Ohýbán… - Feb 21, 2008 1:54 PM
[…] Tak to vypadá, že chyby, které mě nejvíce brzdily v tom, abych se začal věnovat uzpůsobení svého blogu na novou verzi Zend Frameworku by měli být opraveny. Takže jsem s tím pomalu začal, ale narazil j […]
2 comments - Add comment
1.   Martin H. - Nov 16, 2007 6:38 PM
Ahoj,
pár věcí co mě napadlo k vylepšení

- Nadpis článku by mohl být rovnou i odkaz
- jazyk bych neukládal do session/cookie ale nechával ho v url kvůli SEO, jinak se ti budou indexovat jen anglické stránky

jinak jsem rád, že bude venku něco na ZF...

Na jaře jsem si také psal systém pro svůj blog, ale spíš to bylo potrénování, za kód bych se teď už styděl, nakonec jsem skončil na Wordpressu..

ještě možná že mě nedovolilo vložit email:
mhujer [kyselá-ryba] gmail [puntík] com mělo by se to vypsat u formuláře... a nelimitoval bych komentář zadáním emailu..
2.   koubel - Nov 19, 2007 8:40 AM
Dík za připomínky, budu na tom dělat, víc jsem to rozvedl ve fóru o ZF.
Add comment