Bonjour,
Actuellement, j'ai une application zend qui fonctionne avec un bootstrap "à l'ancienne" ou tout est déclaré dans le fichier index.php.
Or, je doit ajouter plusieurs module à cette application qui n'est pas modulaire.
comme je ne savait pas faire, j'ai donc regarder les tutos concernants Zend_Application et les modules.
Mais voila... Je n'arrive pas à adapter l'ancien bootstrap en méthode "Zend_Application" sans module dans un premier temps.
Voici mon ancien bootstrap :
Et voici, ce que j'ai fais depuis pour tenter un passage au Zend_Application:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60 /* * Index.php Ancien bootstrap */ error_reporting(E_ALL|E_STRICT); ini_set('display_errors', 1); date_default_timezone_set('Europe/Paris'); // mise en place des répertoires et chargement des classes set_include_path('/home/wwwroot/library' . PATH_SEPARATOR . './application/models/' . PATH_SEPARATOR . './application/library/' . PATH_SEPARATOR . get_include_path()); require_once '../library/Zend/Loader/Autoloader.php'; $autoloader = Zend_Loader_Autoloader::getInstance(); $autoloader->setFallbackAutoloader(true); // Chargement de la configuration $config = new Zend_Config_Ini('./config/config2.ini', 'dev'); $registry = Zend_Registry::getInstance(); $registry->set('config', $config); // -- Mise en place d'une session pour la pagination -- $session = new Zend_Session_Namespace(); Zend_Registry::set('pagination', $session); $errorsession = new Zend_Session_Namespace(); Zend_Registry::set('erreur', $errorsession); // -- Mise en place de la BDD -- $db = Zend_Db::factory($config->db); Zend_Db_Table::setDefaultAdapter($db); Zend_Registry::set('dbAdapter', $db); Zend_View_Helper_PaginationControl::setDefaultViewPartial('pagination.phtml'); // Mise en place de l'authentification $storage = new Zend_Auth_Storage_Session(); $sessionNamespace = new Zend_Session_Namespace($storage->getNamespace()); $sessionNamespace->setExpirationSeconds(3600); Zend_Registry::set('auth_session', $sessionNamespace); $auth = Zend_Auth::getInstance(); $auth->setStorage($storage); $acl = new AccessRules($auth); Zend_Registry::set('auth', $auth); // setup controller Zend_Layout::startMvc(array('layoutPath'=>'./layouts/site')); $mvc = Zend_Layout::getMvcInstance(); $frontController = Zend_Controller_Front::getInstance(); $frontController->throwExceptions(true) ->registerPlugin(new Common_Plugin_AuthAnnonces($auth, $acl)) ->registerPlugin(new Common_Plugin_Layout($auth, $mvc)) ->registerPlugin(new Plugins_Famille($auth)) ->setControllerDirectory('./application/controllers'); $frontController->dispatch(); // dispatche ! ?>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 /* * index.php Zend_Application */ error_reporting(E_ALL|E_STRICT); // Définit l'environnement de l'application defined('APPLICATION_PATH') || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application')); defined('APPLICATION_ENV') || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production')); set_include_path(implode(PATH_SEPARATOR, array( realpath('/home/wwwroot/library'), realpath(APPLICATION_PATH.'/models'), realpath(APPLICATION_PATH.'/library'), get_include_path() ))); require_once "Zend/Application.php"; require_once 'Zend/Loader/Autoloader.php'; $autoloader = Zend_Loader_Autoloader::getInstance(); $autoloader->setFallbackAutoloader(true); // Création de l'application $application = new Zend_Application( APPLICATION_ENV, APPLICATION_PATH.'/../config/config2.ini'); $application->bootstrap()->run();Si une âme charitable, pourrait me donner un début de piste quand au passage de l'un à l'autre, je lui en serait reconnaissant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 /* * Bootsrap.php contenu dans le dossier application */ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap { //initilisation de l'autoloader pour une structure sans module protected function _initAutoload(){ new Zend_Application_Module_Autoloader(array( 'namespace' => '', 'basePath' => APPLICATION_PATH, )); } }
Cordialement
Partager