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 :
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 !
 
?>
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
 
/*
 * 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();
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,
        ));
    }
}
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.

Cordialement