IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MVC PHP Discussion :

Conversion bootstrap type Zend 1.6 en bootstrap Zend_Application [ZF 1.8]


Sujet :

MVC PHP

  1. #1
    Membre averti
    Profil pro
    Développeur Web
    Inscrit en
    Août 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2008
    Messages : 28
    Par défaut Conversion bootstrap type Zend 1.6 en bootstrap Zend_Application
    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

  2. #2
    Membre chevronné Avatar de manuscle
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2004
    Messages : 488
    Par défaut
    Salut!
    Voir pièce jointe et aussi la doc ZF ainsi que le tuto de julien pauly sur Zend Application
    Fichiers attachés Fichiers attachés

  3. #3
    Membre averti
    Profil pro
    Développeur Web
    Inscrit en
    Août 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2008
    Messages : 28
    Par défaut
    Bonjour et merci.

    Je comprend mieux comment cela fonctionne. Je clos donc le topic.

    Merci encore

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [DATE][CONVERSION] du type numerique au type date
    Par hamed dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 06/04/2005, 16h16
  2. Conversion de type
    Par sovitec dans le forum Langage
    Réponses: 5
    Dernier message: 15/12/2004, 14h29
  3. Conversion de type
    Par poirier dans le forum ASP
    Réponses: 2
    Dernier message: 06/07/2004, 10h30
  4. [MYSQL] conversion de type sur import de script
    Par sebos63 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 27/08/2003, 10h00
  5. Réponses: 2
    Dernier message: 05/06/2002, 12h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo