Zendex - Documentation (fr)
Date de publication : 13/02/2008
III. Zendex_Setup
III-A. Introduction
III-B. Les setups par défaut
III-B-1. Zendex_Setup_Cache
III-B-2. Zendex_Setup_Config
III-B-3. Zendex_Setup_Db
III-B-4. Zendex_Setup_IncludePath
III. Zendex_Setup
III-A. Introduction
L'objectif de Zendex_Setup est d'optimiser la gestion des composants de base de Zend Framework.
Zendex_Setup consiste à centraliser la création et la récupération d'objets, par un système de configuration
et de mise en cache simplifiée.
Dans le cadre de gros projets, il peut arriver d'utiliser plusieurs
fichiers de configuration, plusieures connexions à différentes bases de données,
sans pour autant avoir besoin de ces éléments dans toutes les pages du site.
Vous allez me dire, "eh bien dans ce cas, tu n'as qu'a les créer uniquement lorsque tu en as besoin".
C'est cela que Zendex_Setup optimise : la configuration des fichiers de config, connexions, etc... se fait dans
le bootstrap, jusque là, les objets ne sont pas créer.
C'est uniquement lorsque l'on fait appel à un objet précis, qu'on le créer s'il n'a pas déjà été créer,
ou qu'on va le rechercher dans Zend_Registry si l'objet est créer.
L'objectif est donc de rendre plus facile ce processus.
La meilleure explication, c'est l'exemple, lisez la suite pour y voir plus clair.
III-B. Les setups par défaut
III-B-1. Zendex_Setup_Cache
Pour gérer vos objets Zend_Cache, la manière la plus centralisée est d'utiliser l'instance unique de Zendex_Setup :
<?php
$ frontend = array (
' lifetime ' = > (3600 * 24 ) * 365 ,
' automatic_serialization ' = > true
);
$ backend = array (
' cache_dir ' = > API_ROOT. ' /tmp/ '
);
$ setup = Zendex_Setup: : getInstance();
$setup ->setCache (' myCache ' , ' Core ' , ' File ' , $ frontend , $ backend );
$setup ->getCache (' myCache ' );
$setup ->getCache (' myCache ' );
|
Il existe une seconde manière de configurer ou d'accéder à vos caches,
elle consiste à récupérer l'instance de setup Zendex_Setup_Cache via
la méthode statique getSetup() :
<?php
$ cache = Zendex_Setup: : getSetup(' Cache ' );
$cache ->set (' myCache ' , ' Core ' , ' File ' , $ frontend , $ backend );
$cache ->get (' myCache ' );
|
III-B-2. Zendex_Setup_Config
Pour gérer vos objets Zend_Config, la manière la plus centralisée est d'utiliser l'instance unique de Zendex_Setup :
<?php
$ setup = Zendex_Setup: : getInstance();
$setup ->setConfig (' env ' , ' Xml ' , ' /usr/local/env.xml ' , false , ' myCache ' );
$setup ->getConfig (' env ' );
$setup ->getConfig (' env ' );
} } }
Il existe une seconde manière de configurer ou d' accèder à des objets Zend_Config,
elle consiste à récupérer l ' instance de setup Zendex_Setup_Config via
la méthode statique getSetup() :
|
Il existe une seconde manière de configurer ou d'accéder à des objets Zend_Config,
elle consiste à récupérer l'instance de setup Zendex_Setup_Config via
la méthode statique getSetup() :
<?php
$ config = Zendex_Setup: : getSetup(' Config ' );
$config ->set (' env ' , ' Xml ' , ' /usr/local/env.xml ' , false , ' myCache ' );
$config ->get (' env ' );
|
III-B-3. Zendex_Setup_Db
Pour gérer vos connexions, la manière la plus centralisée est d'utiliser l'instance unique de Zendex_Setup :
<?php
$ db_config = array (
' host ' = > ' localhost ' ,
' username ' = > ' root ' ,
' password ' = > ' ' ,
' dbname ' = > ' kelcourt_db '
);
$ setup = Zendex_Setup: : getInstance();
$setup ->setDb (' myDb ' , ' Pdo_Mysql ' , $ db_config , ' myCache ' );
$setup ->getDb (' myDb ' );
$setup ->getDb (' myDb ' );
|
Il existe une seconde manière de configurer ou d'accéder à des objets Zend_Db,
elle consiste à récupérer l'instance de setup Zendex_Setup_Db via
la méthode statique getSetup() :
<?php
$ db = Zendex_Setup: : getSetup(' Db ' );
$db ->set (' myDb ' , ' Pdo_Mysql ' , $ db_config , ' myCache ' );
$db ->get (' myDb ' );
|
III-B-4. Zendex_Setup_IncludePath
Ce setup permet de simplifier la définition de l'include_path via un tableau associatif :
<?php
$ my_paths = array (
' appli_dir ' = > ' /usr/local/myApplication ' ,
' config_dir ' = > ' /usr/local/myApplication/config '
);
$ setup = Zendex_Setup: : getInstance();
$setup ->setIncludePath ($ my_paths , true );
true
echo APPLI_DIR;
echo CONFIG_DIR;
|
Copyright © 2008 Simon Martins.
Aucune reproduction, même partielle, ne peut être faite
de ce site ni de l'ensemble de son contenu : textes, documents, images, etc.
sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à
trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.