Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 04-02-2010 22:49:25

alexdev
Nouveau membre
Date d'inscription: 04-02-2010
Messages: 2

Structure Site modules

Bonsoir,

Je débute avec le framework Zend. Je suis en train de créer un site en utilisant un maximum de chose standard (Zend_Navigation, Zend_Form, etc.)

J'ai créé mon application avec la structure suivante:
|application
|Bootstrap.php
|--configs
|--controllers
|--forms
|--layouts
|--models
|--views

il s'agit vraisemblablement d'une structure classique et très standard.

Je souhaiterais désormais faire un découpage plus fin de mon application en créant des modules. J'ai donc utilisé Zend_Tools et j'ai généré un module frontend, backend ainsi que le controller Index pour chacun. Ce qui me donne l'arborescence suivante:
|application
|Bootstrap.php
|--configs
|--controllers
|--forms
|--layouts
|--models
|--modules
    |---backend
        |----controllers
        |----forms
        |----layouts
        |----models
        |----views
    |---frontend
        |----controllers
        |----forms
        |----layouts
        |----models
        |----views
|--views
|public
|library
|public
|library

Je voudrais déplacer mon code que j'ai placé dans les répertoires par défaut (1ère arborescence) dans le module "frontend".

Je n'arrive pas à configurer correctement le fichier de configuration (configs/application.ini) et le fichier Bootstrap.

Faut-il un fichier bootstrap par module ? Un bootstrap commun ?
De quelle façon faut-il configurer le tout ?

Merci pour votre aide !

Hors ligne

 

#2 05-02-2010 07:58:35

mickglsn
Membre
Lieu: Sèvres
Date d'inscription: 22-08-2009
Messages: 25

Re: Structure Site modules

Bonjour,
Pour ma part je n'ai qu'un fichier de Bootstrap.
En revanche j'ai un fichier de configuration par module.

J'ai la même structure que toi dans le dossier Modules. En revanche à la racine j'ai "Public" qui permet d'accéder au module "Frontend" et "Admin" qui permet d'accéder au "Backend".
J'ai ensuite configuré mes documents root pour que les domaines et sous-domaines pointent sur les bons répertoires de la racine.

Bootstrap.php est à la racine chez toi ? Je pense que tu voulais le mettre dans Application.

Dans mon dossier "Public", j'ai le code suivi qui permet d'indiquer quel module charger :
// Ensure library/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(
    realpath(APPLICATION_PATH . '/../library'),
    realpath(APPLICATION_PATH . '/../application/modules/Frontend/'),
    get_include_path()
)));

Hors ligne

 

#3 07-02-2010 19:21:02

alexdev
Nouveau membre
Date d'inscription: 04-02-2010
Messages: 2

Re: Structure Site modules

Bonjour,

merci pour cette première réponse. Effectivement, je me suis trompé dans ma nouvelle arborescence. La voici:

http://img46.imageshack.us/img46/9819/20100207191407.png

Je suis reparti sur de "bonnes bases". A savoir mon fichier Bootstrap est vide pour le moment.

Mon fichier application.ini ressemble à ça:

Code:

[production]
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
includePaths.library = APPLICATION_PATH "/../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
appnamespace = "Application"

; initialize front controller resource
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
resources.frontController.defaultModule = "frontend"
resources.frontController.defaultControllerName = "index"
resources.frontController.defaultAction = "index"

; initialize layout resource
resources.layout.layoutPath = APPLICATION_PATH "/layouts"

; initialize a view
resources.view[] =

[staging : production]

[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1

[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.frontController.params.displayExceptions = 1

Actuellement, lorsque je lance mon application, j'ai une erreur "Uncaught exception 'Zend_Controller_Dispatcher_Exception' with message 'Invalid controller specified (error)'".

En modifiant, le bout de code pour la partie // Ensure library/ is on include_path ça ne fonctionne pas mieux, même erreur.

Je suppose que mon bootstrap doit contenir un minimum d'infos en plus du fichier application.ini ?

Je souhaiterais dans un premier temps faire fonctionner mon module "frontend" avant d'ajouter le backend.

Merci pour votre aide

Dernière modification par alexdev (07-02-2010 19:22:01)

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