Zend Framework et fichiers

Tagged:

Un dernier avant d'aller se coucher : Si on veut définir un lien vers une image, un css ou quelque chose qui se trouverait dans notre répertoire files (voir ici), on voit rapidement que c'est un calvaire .. Suivant que notre URL soit /Index/action ou /News/ ou / les chemins relatifs sont différents ...

Pour pallier ce phénomène j'ai fait un tour du coté de la doc et j'y ai trouvé : ceci... Ben quoi vous voyez pas ???

Si on met notre controlleur dans la registry :

Zend_Registry::set('Controller', $controller);

qu'on crée dans /_/app/views/Helpers/ un fichier qui s'appelle BaseUrl.php et qui contient :

class Zend_View_Helper_BaseUrl {
    
    public function baseUrl() {
    	return Zend_Registry::get('Controller')->getRequest()->getBaseUrl();
    }
    
}

Bingo ... il suffit dans nos vues de faire :

<img src="<?= $this->baseUrl() ?>/files/images/404.png" alt="404 Page Not Found" />

Et peu importe ou vous mettez votre projet, il continuera a définir correctement les fichiers de façon absolue !!! Bon je vais me coucher moi ...