Zend Framework: Render Si existeix
Resum
Aquest és un post ràpid per discutir el punt de vista simple ajudant i no he creat per a la prestació d'un Zend Framework estil del fitxer de vista només si existeix. En general, demanant el codi per fer un arxiu que no hi ha una excepció. Per tant he creat un contenidor per al Zend_View:: render (), que determina si el fitxer existeix i si ho fa, si no simplement retorna una cadena buida.

Joost Bakker J. IJmuiden - http://www.flickr.com/photos/joost-ijmuiden/
La motivació
El motiu d'això és que tinc un controlador / veure / etc, que mostra uns resultats lleugerament diferents en funció d'un paràmetre. Alguns d'aquests productes té una caixa d'informació d'ajuda relacionada definit, altres no. Jo no volia tenir fitxers buits pengen al voltant del meu codi, tant com jo no volia tenir try {} catch {} blocs en el meu arxiu de vista. Per tant, ràpidament va crear una 'fer si hi ha' ajudant de vista per al seu ús en el meu codi.
M'adono que aquí podria haver acaba de finalitzar el mètode de fer dins d'un try {} catch {} en l'ajudant de vista propi. En aquest cas, però cap de les excepcions produïdes des del punt de vista no representa la bombolla seria una còpia de seguretat en el cas que alguna cosa surti malament.
Com funciona?
L'ajudant de vista es crea mitjançant l'ampliació de Zend_View_Helper_Abstract com normalment, aquesta injecció de la vista durant l'ús. L'ajudant de vista es passa el fitxer de vista que voleu fer:
$ This-> renderIfExists ("info-box.phtml '); Internament, l'objecte reuneix els camins de l'escriptura objecte de vista i els llaços per sobre d'ells tractant de trobar l'arxiu:
/ **
* Comproveu si un script de vista hi ha
*
* @ Booleà retorn
* /
_fileExists protegides function ()
{
$ = $ Camins getScriptPaths> Vista-this-> ();
foreach ($ camins US $ ruta) {
if (file_exists ($ camí. _file $ this->)) {
return true;
}
}
return false;
} Si un fitxer coincident, es mostra que utilitza l'estàndard Zend_View:: mètode render (), en cas contrari, retorna una cadena buida.
Resum
Es tracta d'un ajudant de vista molt simple per fer un arxiu de vista si hi ha i si no es torni una cadena buida. No utilitza un try {} catch {} bloc que impedeixi excepcions més profund ser llançat des de bombolles i es donin a conèixer. En el seu lloc, recorre els camins de seqüència de comandaments definits en l'objecte de vista i els intents de detectar l'arxiu abans d'intentar fer.
L'arxiu complet es pot trobar en el meu repositori GitHub .

















































