Lorsque je me renseigne avec des tutoriels pour apprendre à manipuler certains composants de Zend, parfois, il faut créer une méthode dans le Bootstrap alors qu'elle pourrait très bien fonctionner dans la méthode init() de l'un de mes controlleurs.

Par exemple, pour l'internationalisation, j'ai du créer cette méthode dans mon 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
 
protected function _initTranslate()
	{
		// On récupère la session du site.
		$session = Zend_Registry::get('session');
		// On définit la langue par défaut sur le site.
 
		$locale = new Zend_Locale('fr');
		// On enregistre cette langue dans notre registre.
		Zend_Registry::set('Zend_Locale', $locale);
		// Si la langue existe en session, on récupère la session, sinon on prend la valeur par défaut.
		$langLocale = isset($session->lang) ? $session->lang : $locale;
		// On lance l'objet de traduction en lui passant les fichiers de langues
		$translate = new Zend_Translate('array',APPLICATION_PATH.'/languages/fr_FR.php','fr');
		$translate->addTranslation(APPLICATION_PATH.'/languages/en_US.php','en');
		// On lui passe la langue courante du site
		$translate->setLocale($langLocale);
		// Important pour utiliser le helper.
		Zend_Registry::set('Zend_Translate', $translate);
	}
Comme son nom l'indique, c'est donc une méthode pour initialiser la traduction mais j'aurais très bien pu faire ce traitement dans l'un de mes controller et cela aurait fonctionné donc j'en viens à me demander l'utilité du bootstrap.

Certes j'aurais du refaire ce traitement dans chacun de mes controllers donc l'utilité du bootstrap est que ca me permet d'écrire une seule fois un traitement qui sera utilisé dans toute mon application?

A chaque chargement de page, mon Bootstrap est appelé?

Dans l'ordre des traitements, le Bootstrap est avant mes controllers mais également avant le controller frontal (Zend_Controller_Front)?