Je souhaite utiliser les plugins Controller dans Zend Framework. J'ai créé un dossier "plugins" dans le dossier de l'application et un fichier Test.php à l'intérieur. Il est contenu:zend framework: le contrôleur du plugin ne fonctionne pas
<?php
class Plugin_Multilanguage extends Zend_Controller_Plugin_Abstract{
public function preDispatch(){
echo 'The plugin is working';
}
}
dans le fichier Bootstrap, j'ai ajouté la fonction:
protected function _initAutoload(){
$fc = Zend_Controller_Front::getInstance();
$fc->registerPlugin(new Plugin_Multilanguage());
}
Et ça ne fonctionne pas. Je ne reçois même aucune sorte d'erreur ou d'inquiétude. Juste une page blanche. J'ai remarqué qu'il y avait beaucoup de sujets similaires, je les ai tous lus, mais je suis toujours confus avec ce simple problème. J'utilise Zend Framework 1.11. S'il vous plaît aider.
Je suis erreur suivant:
Fatal error: Class 'Plugin_Multilanguage' not found in C:\zendSites\moduleDeveloper\application\Bootstrap.php on line 13
Mon contenu application.ini:
[production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
includePaths.library = APPLICATION_PATH "/../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
appnamespace = "Application"
resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts/"
resources.view[] =
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
resources.modules = ""
resources.frontController.params.displayExceptions = 0
resources.frontController.params.prefixDefaultModule = "1"
resources.router.routes.defaultmodule.type = Zend_Controller_Router_Route_Module
resources.router.routes.defaultmodule.abstract = On
resources.router.routes.defaultmodule.defaults.module = "system"
resources.router.routes.language.type = Zend_Controller_Router_Route
resources.router.routes.language.route = ":language"
resources.router.routes.language.reqs.language = "^(fr|en)$"
resources.router.routes.language.defaults.language = "en"
resources.router.routes.default.type = Zend_Controller_Router_Route_Chain
resources.router.routes.default.chain = "language, defaultmodule"
[staging : production]
[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.frontController.params.displayExceptions = 1
J'ai essayé d'ajouter une par une des ressources suivantes:
pluginPaths.Plugins = APPLICATION_PATH "/plugins"
autoloaderNamespaces[] = "plugins"
resources.frontController.plugins[] = "Plugin_Multilanguage"
pluginPaths.Plugins = APPLICATION_PATH "/plugins"
autoloaderNamespaces[] = "plugins"
seulement le message d'erreur change:
Fatal error: Class 'Plugin_Multilanguage' not found in C:\zend\library\Zend\Application\Resource\Frontcontroller.php on line 117
Qu'est-ce que je fais mal?
page blanche signifie que vous avez display_errors est désactivé. Vérifiez le journal des erreurs du serveur et pensez à activer les erreurs en mode développement (ce que vous pouvez faire dans application.ini). –
merci, je vais éditer mon post avec les erreurs que je reçois. – Andrei