Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 02-07-2009 14:29:37

probitaille
Membre
Lieu: Montréal
Date d'inscription: 20-04-2009
Messages: 336
Site web

Bootstrap ou index.php ? Où placer ce code suite à l'installation ?

Bonjour, j'ai travailler avec de vieilles versions de Zend où il n'y avait pas de BootStrap et où l'on foutait tout dans le index.php. Maintenant, suite aux changement du QuickStart officiel, j'ai décidé de m'adapter aux changements et de suivre la norme. Seulement, j'ai des problèmes pour m'adapter.

En fait, je désire ajouter du code pour définir un nouveau dossier de controllers:

Code:

$front->addControllerDirectory('/path/to/application/news/controllers', 'news');

Seulement, suite au quickStart, mon bootstrap et mon index ressemble à ceci:

Où devrais-je placer ce code et autres codes comme error_reporting, etc...


Bootstrap:

Code:

<?php

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
    protected function _initAutoload()
    {
        $autoloader = new Zend_Application_Module_Autoloader(array(
            'namespace' => 'Default_',
            'basePath'  => dirname(__FILE__),
        ));
        return $autoloader;
    }

    protected function _initDoctype()
        {
            $this->bootstrap('view');
            $view = $this->getResource('view');
            $view->doctype('XHTML1_STRICT');

        }
}

Index.php

Code:

<?php

// Define path to application directory
defined('APPLICATION_PATH')
    || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));

// Define application environment
defined('APPLICATION_ENV')
    || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));

// Ensure library/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(
    realpath(APPLICATION_PATH . '/../library'),
    get_include_path(),
)));

/** 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();

Merci !!!

Dernière modification par probitaille (02-07-2009 14:30:14)

Hors ligne

 

#2 02-07-2009 17:38:22

probitaille
Membre
Lieu: Montréal
Date d'inscription: 20-04-2009
Messages: 336
Site web

Re: Bootstrap ou index.php ? Où placer ce code suite à l'installation ?

Personne peut m'éclaircir sur le fonctionnement du Bootstrap ?

Hors ligne

 

#3 06-07-2009 09:07:08

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: Bootstrap ou index.php ? Où placer ce code suite à l'installation ?

Il faut croire que tu as "survolé" le quickstart
http://framework.zend.com/docs/quicksta … ur-project
partie "configuration"


----
Gruiiik !

Hors ligne

 

#4 07-07-2009 20:10:46

probitaille
Membre
Lieu: Montréal
Date d'inscription: 20-04-2009
Messages: 336
Site web

Re: Bootstrap ou index.php ? Où placer ce code suite à l'installation ?

Code:

protected function _initFrontcontroller() {
        // Récupération d'une instance du controleur frontal (singleton)
        $frontController = Zend_Controller_Front::getInstance();

        // Définition du répertoire de modules
        $frontController->setControllerDirectory(array(
            'default' => APPLICATION_PATH .'/user/controllers/'
        ));
        $frontController->addControllerDirectory(APPLICATION_PATH . '/admin/controllers','admin');
        $frontController->registerPlugin(new Default_Model_AccessPlugin(), 1);
        //echo APPLICATION_PATH.'---';
        return $frontController;
    }

C'est comme cela que je voulais faire, j'ai réussis

Hors ligne

 

#5 07-07-2009 22:19:11

Delprog
Administrateur
Date d'inscription: 29-09-2008
Messages: 670

Re: Bootstrap ou index.php ? Où placer ce code suite à l'installation ?

Bonsoir,

Il y a plus simple, dans application.ini :

Code:

; resources frontController
resources.frontController.controllerDirectory[] = APPLICATION_PATH "/controllers"
resources.frontController.controllerDirectory[] = APPLICATION_PATH "/controllers2"

; Plugins
resources.frontController.plugins.plugin1 = Tight_Controller_Plugin_NomDuPlugin1
resources.frontController.plugins.plugin2 = Tight_Controller_Plugin_NomDuPlugin2

On s'en rend compte en jetant un coup d'oeil aux sources du ZF > Zend_Application_Resource_FrontController:

Code:

case 'controllerdirectory':
                    if (is_string($value)) {
                        $front->setControllerDirectory($value);
                    } elseif (is_array($value)) {
                        foreach ($value as $module => $directory) {
                            $front->addControllerDirectory($directory, $module);
                        }
                    }
                    break;

A+ benjamin.


http://www.anonymation.com/ - anonymation - Studio de création.
http://code.anonymation.com/ - anonymation - blog - développement et architecture web

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages