Précédent   Forum des professionnels en informatique > PHP > Outils > Zend > Zend Framework
Zend Framework Forum d'entraide sur la programmation PHP avec Zend Framework. Avant de poster -> FAQ ZF, Cours ZF
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/11/2010, 01h07   #1
Membre du Club
 
Inscription : mars 2007
Messages : 110
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 110
Points : 50
Points : 50
Par défaut localisation des helpers globaux et "addHelperPath"

Bonjour,

J'utilise pour mon app plusieurs helper que j'utilise dans plusieurs "views".
Je les ais placé dans un folder "library" tel que décrit ci dessous.

root
> application
> public
> library
>> zend // contient le code du framework
>> aidefrancais
>>> view
>>>> helper
Le dossier helper contient les fichiers dont, pour donner un exemple, "staticUrl.php" qui contient le code suivant:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
 
class aidefrancais_view_helper_staticUrl {
    public $view;
 
    public function setView(Zend_View_Interface $view) {
        $this->view = $view;
    }
 
    public function staticUrl($url) {
        $config = Zend_Registry::get('config');
        return $config->site->staticUrl.$this->view->escape($url);
    }
}
Dans lans l'action _initViewHelpers du fichier bootstrap.php, j'ai ajouté la ligne suivante:
Code :
$view->addHelperPath('aidefrancais/view/helper/', 'aidefrancais_View_Helper');
et dans aplication.ini:
Code :
includePaths.library = APPLICATION_PATH "/../library"
Cela fonctionne très bien en local (j'utilise MAMP) mais pas en production (je suis en mutualisé sur OVH) ou j'obtiens l'erreur suivante:
Code :
Fatal error: Uncaught exception 'Zend_Loader_PluginLoader_Exception' with message 'Plugin by name 'StaticUrl' was not found in the registry; used paths: aidefrancais_View_Helper_: aidefrancais/view/helper/ Zend_View_Helper_: Zend/View/Helper/:/homez.62/collabor/www/aidefrancais2/application/modules/default/views/helpers/' in /homez.62/collabor/www/aidefrancais2/library/Zend/Loader/PluginLoader.php:412 Stack trace: #0 /homez.62/collabor/www/aidefrancais2/library/Zend/View/Abstract.php(1174): Zend_Loader_PluginLoader->load('StaticUrl') #1 /homez.62/collabor/www/aidefrancais2/library/Zend/View/Abstract.php(610): Zend_View_Abstract->_getPlugin('helper', 'staticUrl') #2 /homez.62/collabor/www/aidefrancais2/library/Zend/View/Abstract.php(336): Zend_View_Abstract->getHelper('staticUrl') #3 /homez.62/collabor/www/aidefrancais2/application/layouts/scripts/layout.phtml(8): Zend_View_Abstract->__call('staticUrl', Array) #4 /homez.62/collabor/www/aidefrancais2/application/layouts/scripts/layout.phtml(8): Zend_View->staticUrl('/css/ma in /homez.62/collabor/www/aidefrancais2/library/Zend/Loader/PluginLoader.php on line 412
Je tourne en rond sur ce bug depuis 1 jour. C'est la première fois que je déploie seul une application zend en ligne. Si vous avez une piste, je la suivrais

Merci beaucoup !
hackiles est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2010, 20h09   #2
Membre Expert
 
Avatar de nosferapti
 
Inscription : avril 2009
Messages : 1 157
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 1 157
Points : 1 129
Points : 1 129
c'est peut être un problème de majuscule
essaye d'appeler ta classe aidefrancais_view_helper_StaticUrl
donc dans un fichier StaticUrl.php
et pour le chemin mets ça :
Code :
$view->addHelperPath('aidefrancais/view/helper/', 'aidefrancais_view_helper');
__________________
GNAP !
nosferapti est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 22/11/2010, 12h03   #3
Membre du Club
 
Inscription : mars 2007
Messages : 110
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 110
Points : 50
Points : 50
Merci!

C'était effectivement un problème de majuscule. Il semblerait que mon serveur local ne prenne pas en compte les majuscules contrairement au serveur en prod.
hackiles est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/03/2011, 16h05   #4
Membre habitué
 
Homme
Inscription : septembre 2008
Messages : 161
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Congo-Kinshasa

Informations forums :
Inscription : septembre 2008
Messages : 161
Points : 139
Points : 139
Envoyer un message via Skype™ à tresorunikin
Ce qui est, le plus souvent, le cas lorsque vous développez sur un pc Windows pour héberger sur des Serveurs sous Linux.
tresorunikin est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h22.


 
 
 
 
Partenaires

Hébergement Web