Mirin webspace

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

16. 11. 2007 - Komentáře (2) Zend Framework

Pozor na ViewRenderer

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.


Komentáře (2)

  1. Martin H. - 16. 11. 2007 18:38

    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 - 19. 11. 2007 08:40

    Dík za připomínky, budu na tom dělat, víc jsem to rozvedl ve fóru o ZF.

Komentáře jsou uzavřeny.