| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 14741 -->
- <!-- Reviewed: no -->
- <sect1 id="zend.application.theory-of-operation">
- <title>Théorie générale</title>
- <para>Monter une application MVC configurée et prête à être lancée requière de plus en plus de
- code au fur et à mesure de l'ajout de fonctionnalités : monter une base de données, configurer
- la vue et ses aides, les layouts, enregistrer des plugins, des aides d'action et bien plus
- encore ...</para>
- <para>Aussi, vous réutiliserez souvent le même code dans vos tests, dans une tâche cron ou
- encore un service. Il est certes possible d'inclure le script de bootstrap dans de tels cas,
- mais souvent des variables seront dépendantes de l'environnement. Par exemple, vous n'aurez pas
- besoin de MVC dans une tâche cron, ou alors vous aurez juste besoin de l'accès à la base de
- données dans un script de service.</para>
- <para><classname>Zend_Application</classname> a pour but de simplifier ces processus et de promouvoir la
- réutilisabilité de code en encapsulant les étages de définition du bootstrap en concepts
- orientés objet.</para>
- <para>Zend_Application se décompose en 3 parties :</para>
- <itemizedlist>
- <listitem>
- <para><classname>Zend_Application</classname>: charge l'environnement PHP, à savoir les
- include_paths et les autoloads, et instancie la classe de bootstrap demandée.</para>
- </listitem>
- <listitem>
- <para><classname>Zend_Application_Bootstrap</classname>: regroupement d'interfaces pour les
- classes de bootstrap. <classname>Zend_Application_Bootstrap_Base</classname> propose des
- fonctionnalités de base concernant l'amorçage (le bootstrap), à savoir des algorithmes
- de vérification des dépendances et la possibilité de charger des ressources à la
- demande.</para>
- </listitem>
- <listitem>
- <para><classname>Zend_Application_Resource</classname> est une interface pour les ressources de
- bootstrap qui peuvent être chargées à la demande depuis les instances de
- bootstrap.</para>
- </listitem>
- </itemizedlist>
- <para>Les développeurs créent une classe de bootstrap pour leur application en étendant
- <classname>Zend_Application_Bootstrap_Base</classname> ou en implémentant (au minimum)
- <classname>Zend_Application_Bootstrap_IBootstrap</classname>. Le point d'entrée (public/index.php)
- chargera <classname>Zend_Application</classname> en l'instanciant et en lui passant :</para>
- <itemizedlist>
- <listitem>
- <para>L'environnement courant</para>
- </listitem>
- <listitem>
- <para>Des options de bootstrapping</para>
- </listitem>
- </itemizedlist>
- <para>Les options de bootstrap incluent le chemin vers le fichier contenant la classe de
- bootstrap, et optionnellement :</para>
- <itemizedlist>
- <listitem>
- <para>Des include_paths supplémentaires</para>
- </listitem>
- <listitem>
- <para>Des espaces de nom d'autoload à enregistrer</para>
- </listitem>
- <listitem>
- <para>Des paramètres php.ini à initialiser</para>
- </listitem>
- <listitem>
- <para>Le nom de la classe pour le bootstrap (sinon "Bootstrap" sera utilisée)</para>
- </listitem>
- <listitem>
- <para>Des paires prefix/chemin pour les ressources à utiliser</para>
- </listitem>
- <listitem>
- <para>N'importe quelle ressource à utiliser (nom de classe ou nom court)</para>
- </listitem>
- <listitem>
- <para>Des chemins additionnels vers un fichier de configuration à charger</para>
- </listitem>
- <listitem>
- <para>Des options de configuration supplémentaires</para>
- </listitem>
- </itemizedlist>
- <para>Les options peuvent être un tableau, un objet <classname>Zend_Config</classname>, ou le chemin vers
- un fichier de configuration.</para>
- </sect1>
|