Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 23-04-2009 12:06:44

infdou
Membre
Date d'inscription: 23-04-2009
Messages: 18

arborescence back et front office

Je suis débutant avec le Framework Zend et je viens de commencer
à développer une structure pour gérer mon back et front office.

J'ai essayé de découper l'application de façon modulaire.

Je suis malheureusement obligé à cause de mon hébergeur de mettre tous
les fichiers à découvert dans le www.


répertoire principal : monsite/www
---------------------------------------------
> application
    -> admin
        -> Dossier Controllers
        -> Dossier Layouts
        -> Dossier Models
        -> Dossier Views
        -> bootstrap.php

    -> défaults
        -> Dossier Controllers
        -> Dossier Layouts
        -> Dossier Models
        -> Dossier Views
        -> bootstrap.php

> library


> admin
    -> index.php

> public
    -> index.php
    -> htaccess

---------------------------------------------


Que mettre dans le fichier htaccess dans mon dossier public ?


J'arrive parfaitement à lire l'adresse suivante :

    -> "monsite/admin/controller/action"   (www.monsite/admin/controller)


mais pas l'adresse suivant :

    -> "monsite/controller/action"   (www.monsite/controller)

Je peux la lire seulement en rajoutant le répertoire "public" avec :

    -> "monsite/public/controller/action"



En fin de compte, je voudrais cacher mon répertoire "public" et le protéger !


Vous remerciant pour votre réponse.

Hors ligne

 

#2 23-04-2009 12:29:25

infdou
Membre
Date d'inscription: 23-04-2009
Messages: 18

Re: arborescence back et front office

Autre petit problème, quand je veux lire une action, le layout s'enlève !!!

Au niveau des controllers s'est impeccable, mais quand je mets action, plus rien, plus de style.
Par contre les views sont présents.

Quelqu'un a-t-il déjà eu ce problème ?

Hors ligne

 

#3 23-04-2009 13:25:55

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: arborescence back et front office

tu part sur une fausse route
soit tout ton code est dans la hérarchie de ton htdocs

Code:

>htdocs
    -> application
        -> admin
            -> Dossier Controllers
            -> Dossier Layouts
            -> Dossier Models
            -> Dossier Views
        
        -> Dossier Controllers
        -> Dossier Layouts
        -> Dossier Models
        -> Dossier Views
        -> bootstrap.php
    
    -> library
    
    ->public (pour les css js et img)
    
    -> index.php
    -> htaccess

soit seul ton dossier public est dans le htdocs

Code:

> application
    -> admin
        -> Dossier Controllers
        -> Dossier Layouts
        -> Dossier Models
        -> Dossier Views
    
    -> Dossier Controllers
    -> Dossier Layouts
    -> Dossier Models
    -> Dossier Views
    -> bootstrap.php

> library

> htdocs
    ->public (pour les css js et img)
    
    -> index.php
    -> htaccess

tu ne dois avoir qu'un bootstrap et un index.php

dans ton .htaccess tu renvois toujours sur index qui lui ne fait que charger le bootstrap
dans le bootstrap tu ajout les module comme Admin (default est par défaut) et tu utilise Zend_Acl pour fixer les droit sur tes modules et/ou contrôleurs

et c'est tout
A+JYT

Hors ligne

 

#4 23-04-2009 13:37:09

infdou
Membre
Date d'inscription: 23-04-2009
Messages: 18

Re: arborescence back et front office

Merci sekaijin pour ta réponse.
Mais comment faire pour rajouter dans le bootstrap le module Admin ? et default par défaults ?
Pas évident de démarrer ...

Hors ligne

 

#5 23-04-2009 13:40:58

infdou
Membre
Date d'inscription: 23-04-2009
Messages: 18

Re: arborescence back et front office

J'ai utilisé cette technique pour avoir un css et un layout différent dans mon espace back office !
Comment modifier également le Layout pour le module Admin ?

Hors ligne

 

#6 23-04-2009 15:12:46

vg33
Membre
Date d'inscription: 30-07-2008
Messages: 46

Re: arborescence back et front office

Si c'est juste pour le layout et les css, il me semble plus simple de les changer dans les controllers. Quitte à utiliser une classe dérivée de Zend_Controller_Abstract différente pour front et backoffice.

Hors ligne

 

#7 23-04-2009 16:24:14

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: arborescence back et front office

Hors ligne

 

#8 24-04-2009 10:27:59

infdou
Membre
Date d'inscription: 23-04-2009
Messages: 18

Re: arborescence back et front office

sekaijin, je viens de mettre tout le code dans la hiérarchie de ton htdocs.
Par contre, tout fonctionne bien, sauf quand je mets une autre action qu'index et le css du layout ne s'affiche pas !!
En regardant le code source, le lien css et le contenu du layout est bon pourtant !! bizarre.
Peut être un problème de répertoire ?

Hors ligne

 

#9 24-04-2009 11:09:53

infdou
Membre
Date d'inscription: 23-04-2009
Messages: 18

Re: arborescence back et front office

Ce qui est bizarre :

htdocs/controller/
Ca fonctionne bien , par contre  :

htdocs/controller/index   ou
htdocs/controller/action

le CSS du Layout ne s'affiche pas !

Mon index va chercher mon bootstrapp dans le dossier application

Hors ligne

 

#10 24-04-2009 11:59:47

infdou
Membre
Date d'inscription: 23-04-2009
Messages: 18

Re: arborescence back et front office

Autre petit problème, décidement, j'ai toujours mon problème d'affichage.
Je viens de rajouter un module avec :

$frontController->setControllerDirectory(array(
   'default' => 'application/default/controllers',
    'admin'    => 'application/admin/controllers'
));


et j'ai un message d'erreur :
array(3) {
  ["controller"]=>
  string(1) "s"
  ["action"]=>
  string(5) "index"
  ["module"]=>
  string(7) "default"
}

Bizarre le controller avec un "s" ?

J'ai rajouter un :

$frontController->setBaseUrl('localhost/htdocs/');

sans succès .......

Hors ligne

 

#11 24-04-2009 12:06:45

infdou
Membre
Date d'inscription: 23-04-2009
Messages: 18

Re: arborescence back et front office

Cette exception est levée quand je tape : htdocs/presentation. Je suis dans le dossier principal "default" avec un controlleur appeler "presentation" (donc presentation>index).

Hors ligne

 

#12 24-04-2009 13:27:36

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: arborescence back et front office

infdou a écrit:

Autre petit problème, décidement, j'ai toujours mon problème d'affichage.
Je viens de rajouter un module avec :

$frontController->setControllerDirectory(array(
   'default' => 'application/default/controllers',
    'admin'    => 'application/admin/controllers'
));


et j'ai un message d'erreur :
array(3) {
  ["controller"]=>
  string(1) "s"
  ["action"]=>
  string(5) "index"
  ["module"]=>
  string(7) "default"
}

Bizarre le controller avec un "s" ?

J'ai rajouter un :

$frontController->setBaseUrl('localhost/htdocs/');

sans succès .......

$frontController->setBaseUrl('/');
A+JYT

Hors ligne

 

#13 24-04-2009 15:06:55

infdou
Membre
Date d'inscription: 23-04-2009
Messages: 18

Re: arborescence back et front office

ca marche que si je mets : $frontController->setBaseUrl('/htdocs/');
Mais j'aurais certainement un problème pour le mettre en ligne dans le répertoire de mon hébergeur !

Hors ligne

 

#14 24-04-2009 15:14:54

infdou
Membre
Date d'inscription: 23-04-2009
Messages: 18

Re: arborescence back et front office

Je suis completement perdu, ca ne marche plus : le fichier index :
(J'ai utilisé ta hiérarchie de ton htdocs)

Code:

define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/application/'));
set_include_path(
    APPLICATION_PATH . '/../library'
    . PATH_SEPARATOR . APPLICATION_PATH . '/default/models/'
    . PATH_SEPARATOR . get_include_path());

require_once "Zend/Loader.php";
Zend_Loader::registerAutoload();

try {
    require 'application/bootstrap.php';
} catch (Exception $exception) {
    echo '<html><body><center>'
       . 'An exception occured while bootstrapping the application.';
    if (defined('APPLICATION_ENVIRONMENT')
        && APPLICATION_ENVIRONMENT != 'production'
    ) {
        echo '<br /><br />' . $exception->getMessage() . '<br />'
           . '<div align="left">Stack Trace:'
           . '<pre>' . $exception->getTraceAsString() . '</pre></div>';
    }
    echo '</center></body></html>';
    exit(1); }

Zend_Controller_Front::getInstance()->dispatch();

et voici le code Bootstrap, je suis dans le dossier -> htdocs/Application :

Code:

defined('APPLICATION_PATH')
    or define('APPLICATION_PATH', dirname(__FILE__));

defined('APPLICATION_ENVIRONMENT')
    or define('APPLICATION_ENVIRONMENT', 'development');

Zend_Layout::startMvc(APPLICATION_PATH . '/layouts/scripts');

$view = Zend_Layout::getMvcInstance()->getView();
$view->doctype('XHTML1_STRICT');

$frontController = Zend_Controller_Front::getInstance();

$frontController->setBaseUrl('/');

$frontController->setControllerDirectory(array(
   'default' => 'application/default/controllers',
    'admin'    => 'application/admin/controllers'
));

$frontController->setParam('env', APPLICATION_ENVIRONMENT);

$configuration = new Zend_Config_Ini(
    APPLICATION_PATH . '/config/app.ini',
    APPLICATION_ENVIRONMENT
);

$registry = Zend_Registry::getInstance();
$registry->configuration = $configuration;

unset($frontController, $view, $configuration, $registry);

1) Si je fais : $frontController->setBaseUrl('htdocs/'); ca fonctionne sur l'index normal par défaut.
Mais bon, en ligne dans le répertoire par défaut www, je ne sais pas ce que je vais mettre ??

2) De plus, quand je fais "htdocs//controller/action", je n'ai pas d'affichage de mon css ?

3) le "htdocs//admin/controller/action" me renvoi
une erreur sur l'index "Parse error: parse error in C:\wamp\www\htdocs\application\admin\controllers\IndexController.php on line 25 ?? J'ai relu et repris un autre controller sans succès !!

Hors ligne

 

#15 28-04-2009 12:13:28

infdou
Membre
Date d'inscription: 23-04-2009
Messages: 18

Re: arborescence back et front office

Bizarre, aucune reponse ... J'ai mis exactement le bootstrap dans le dossier application et l'index dans le répertoire générale (pas de public, car je suis sur un  hébergement mutualisé) ...

Dernière modification par infdou (28-04-2009 13:49:15)

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