Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour, j'ai travailler avec de vieilles versions de Zend où il n'y avait pas de BootStrap et où l'on foutait tout dans le index.php. Maintenant, suite aux changement du QuickStart officiel, j'ai décidé de m'adapter aux changements et de suivre la norme. Seulement, j'ai des problèmes pour m'adapter.
En fait, je désire ajouter du code pour définir un nouveau dossier de controllers:
$front->addControllerDirectory('/path/to/application/news/controllers', 'news');
Seulement, suite au quickStart, mon bootstrap et mon index ressemble à ceci:
Où devrais-je placer ce code et autres codes comme error_reporting, etc...
Bootstrap:
<?php class Bootstrap extends Zend_Application_Bootstrap_Bootstrap { protected function _initAutoload() { $autoloader = new Zend_Application_Module_Autoloader(array( 'namespace' => 'Default_', 'basePath' => dirname(__FILE__), )); return $autoloader; } protected function _initDoctype() { $this->bootstrap('view'); $view = $this->getResource('view'); $view->doctype('XHTML1_STRICT'); } }
Index.php
<?php // Define path to application directory defined('APPLICATION_PATH') || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application')); // Define application environment defined('APPLICATION_ENV') || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production')); // Ensure library/ is on include_path set_include_path(implode(PATH_SEPARATOR, array( realpath(APPLICATION_PATH . '/../library'), get_include_path(), ))); /** Zend_Application */ require_once 'Zend/Application.php'; // Create application, bootstrap, and run $application = new Zend_Application( APPLICATION_ENV, APPLICATION_PATH . '/configs/application.ini' ); $application->bootstrap() ->run();
Merci !!!
Dernière modification par probitaille (02-07-2009 14:30:14)
Hors ligne
Personne peut m'éclaircir sur le fonctionnement du Bootstrap ?
Hors ligne
Il faut croire que tu as "survolé" le quickstart
http://framework.zend.com/docs/quicksta … ur-project
partie "configuration"
Hors ligne
protected function _initFrontcontroller() { // Récupération d'une instance du controleur frontal (singleton) $frontController = Zend_Controller_Front::getInstance(); // Définition du répertoire de modules $frontController->setControllerDirectory(array( 'default' => APPLICATION_PATH .'/user/controllers/' )); $frontController->addControllerDirectory(APPLICATION_PATH . '/admin/controllers','admin'); $frontController->registerPlugin(new Default_Model_AccessPlugin(), 1); //echo APPLICATION_PATH.'---'; return $frontController; }
C'est comme cela que je voulais faire, j'ai réussis
Hors ligne
Bonsoir,
Il y a plus simple, dans application.ini :
; resources frontController resources.frontController.controllerDirectory[] = APPLICATION_PATH "/controllers" resources.frontController.controllerDirectory[] = APPLICATION_PATH "/controllers2" ; Plugins resources.frontController.plugins.plugin1 = Tight_Controller_Plugin_NomDuPlugin1 resources.frontController.plugins.plugin2 = Tight_Controller_Plugin_NomDuPlugin2
On s'en rend compte en jetant un coup d'oeil aux sources du ZF > Zend_Application_Resource_FrontController:
case 'controllerdirectory': if (is_string($value)) { $front->setControllerDirectory($value); } elseif (is_array($value)) { foreach ($value as $module => $directory) { $front->addControllerDirectory($directory, $module); } } break;
A+ benjamin.
Hors ligne
Pages: 1