Zend_Application démarrage rapide
    
    
        Il existe deux manières d'aborder
        Zend_Application, elles dépendent de la manière dont vous commencez
        votre projet. Dans tous les cas, vous devrez créer une classe
        Bootstrap et un fichier de configuration.
    
    
        Si vous souhaitez utiliser Zend_Tool pour créer votre projet,
        continuez votre lecture. Si vous ajoutez
        Zend_Application à un projet existant, vous devriez
        passer à la suite.
    
    
    Ajouter Zend_Application à votre existant
        
        
            Les bases de Zend_Application sont très simples :
        
        
            
                Créez un fichier application/Bootstrap.php contenant
                une classe Bootstrap.
            
 
            
                Créez un fichier application/configs/application.ini
                contenant la configuration de base pour Zend_Application.
            
 
            
                Modifiez public/index.php afin d'utiliser
                Zend_Application.
            
 
        
        
            D'abord, créez la classe Bootstrap class. Dans le fichier
            application/Bootstrap.php, voici le contenu :
        
        class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
 
{
 
}
 
        
            Créez maintenant votre configuration. Pour ce tutoriel, nous utilisons une syntaxe
            INI, bien sûr une syntaxe XML ou
            PHP est utilisable aussi. Créez donc le fichier
            application/configs/application.ini, et ajoutez lui ce
            contenu :
        
        [production]
 
phpSettings.display_startup_errors = 0
 
phpSettings.display_errors = 0
 
includePaths.library = APPLICATION_PATH "/../library"
 
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
 
bootstrap.class = "Bootstrap"
 
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
 
 
 
[staging : production]
 
 
 
[testing : production]
 
phpSettings.display_startup_errors = 1
 
phpSettings.display_errors = 1
 
 
 
[development : production]
 
phpSettings.display_startup_errors = 1
 
phpSettings.display_errors = 1
 
        
            Maintenant, modifions le script de démarrage
            public/index.php. Si le fichier n'existe pas, créez le, et
            placez ce contenu dedans :
        
        // Define path to application directory
 
 
 
// Define application environment
 
                                         : 'production'));
 
 
 
// Typically, you will also want to add your library/ directory
 
// to the include_path, particularly if it contains your ZF installed
 
)));
 
 
 
/** 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();
 
        
            Notez que l'environnement applicatif est défini dans une constante
            "APPLICATION_ENV". Nous recommandons la spécification d'un tel paramètre dans la
            configuration générale du serveur web. Pour Apache, vous pouvez utiliser
            .htaccess si votre serveur le permet. Nous recommandons un
            fichier public/.htaccess avec le contenu suivant :
        
        SetEnv APPLICATION_ENV development
 
 
 
RewriteEngine On
 
RewriteCond %{REQUEST_FILENAME} -s [OR]
 
RewriteCond %{REQUEST_FILENAME} -l [OR]
 
RewriteCond %{REQUEST_FILENAME} -d
 
RewriteRule ^.*$ - [NC,L]
 
RewriteRule ^.*$ index.php [NC,L]
 
        Note: Apprenez mod_rewrite
            
            
                Les règles de réécriture ci-dessus autorisent l'accès à tout fichier existant
                dans l'hôte virtuel. S'il existe des fichiers que vous ne voulez pas exposer,
                utilisez des règles plus restrictives. Le site web d'Apache » vous permettra
                    d'en apprendre plus au sujet de mod_rewrite.
            
        
        
            Voila, à partir de maintenant nous sommes prêts à tirer partie de la puissance de
            Zend_Application.
        
     
    Ajouter et créer des ressources
        
        
            Si vous avez suivi les instructions jusqu'à maintenant, alors votre classe de
            bootstrap utilisera le contrôleur frontal et lorsque lancée, lancera le dispatch
            du contrôleur frontal. En vérité, il va être rapidement nécessaire de rajouter de
            la configuration, concernant d'autres objets divers (appelés "ressources").
        
        
            Nous allons voir ici comment créer et configurer des ressources. D'abord un layout,
            puis nous personnaliserons un objet de vue.
        
        
            Une ressource assez standard proposée par
            Zend_Application est "layout". Cette ressource attend
            une configuration qu'elle fera suivre immédiatement à
            Zend_Layout.
        
        
            Pour l'utiliser, vous devrez modifier votre fichier de configuration comme suit:
        
        [production]
 
phpSettings.display_startup_errors = 0
 
phpSettings.display_errors = 0
 
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
 
bootstrap.class = "Bootstrap"
 
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
 
 
 
; AJOUTEZ CES LIGNES
 
resources.layout.layout = "layout"
 
resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts"
 
 
 
[staging : production]
 
 
 
[testing : production]
 
phpSettings.display_startup_errors = 1
 
phpSettings.display_errors = 1
 
 
 
[development : production]
 
phpSettings.display_startup_errors = 1
 
phpSettings.display_errors = 1
 
        
            Si ce n'est pas déja fait, créez le dossier
            application/layouts/scripts/, et le fichier
            layout.phtml dans ce même dossier. Voici un exemple de script
            de layout tout à fait classique:
        
        <?php echo $this->
doctype() ?>  
<html>
 
<head>
 
    <?php echo $this->
headTitle() ?>  
    <?php echo $this->
headLink() ?>  
    <?php echo $this->
headStyle() ?>  
    <?php echo $this->
headScript() ?>  
</head>
 
<body>
 
    <?php echo $this->
layout()->
content ?>  
</body>
 
</html>
 
        
            Voila, vous avez un layout fonctionnel.
        
        
            Maintenant passons à la vue. Nous voulons un DocType HTML et
            une valeur de titre par défaut à utiliser dans la partie "head" du
            HTML. Nous pouvons ordonner ceci en éditant la classe
            Bootstrap et en ajoutant une méthode.
        
        class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
 
{
 
    protected function _initView()
 
    {
 
        // Initialisons la vue
 
        $view = new Zend_View();
 
        $view->doctype('XHTML1_STRICT');
 
        $view->headTitle('My First Zend Framework Application');
 
 
 
        // Ajoutons là au ViewRenderer
 
        $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper(
 
            'ViewRenderer'
 
        );
 
        $viewRenderer->setView($view);
 
 
 
        // Retourner la vue pour qu'elle puisse être stockée par le bootstrap
 
        return $view;
 
    }
 
}
 
        
            Cette méthode va être lancée automatiquement lors du bootstrap et configurera une vue.
        
     
    Aller plus loin avec Zend_Application
        
        
            Nous vennons de voir comment configurer de manière basique
            Zend_Application ainsi que les principes du bootstrap. Pour un
            maximum de réutilisation de code, vous devriez songer à utiliser des plugins de
            ressources. Continuez à lire la suite !