Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 06-11-2007 11:08:13

tschtong
Membre
Lieu: Bretagne
Date d'inscription: 06-11-2007
Messages: 55

Organisation d'un site

Bonjour,

dans le cadre d'un futur site à développer je réfléchis sur l'opportunité d'utiliser ZF. Et concernant l'organisation du futur site je me pose cette question, sachant que je ne suis pas un expert... loin de là !
Pour chaque page du site est-il préférable de créer un controller différent  ? indexcontroller pour l'index page1controller pour la page1 etc...
Dans le cas de plusieurs controllers, l'initialisation des controllers est effectué je crois dans le fichier index.php
notamment avec la classe Zend_Controller_Router_Rewrite() et la méthode addRoute. Pouvez-vous svp me confirmer cela merci. (J'ai regardé le tut. sur Kitpages et je crois avoir compris cela !)

merci de me confirmer ces quelques intérogations car je souhaite utiliser ZF pour ce qu'il est senser faire et d'une bonne façon. Merci.

A+ tschtong

Hors ligne

 

#2 06-11-2007 11:20:40

alien7
Membre
Date d'inscription: 29-04-2007
Messages: 447

Re: Organisation d'un site

Salut
Tu devrais commencer peut-etre par ce tutoriel.
http://julien-pauli.developpez.com/tuto … sentation/

++


ZF 2.3 - Twitter Bootstrap 3.2
Local: Ubuntu  -> Apache2 2.4 - MariaDB 10 - PHP 5.6

Hors ligne

 

#3 06-11-2007 20:34:20

charlysquare
Membre
Date d'inscription: 05-11-2007
Messages: 21

Re: Organisation d'un site

Bonjour,

Je me pose les mêmes questions, je débute à peine, mais il n'est pas utile de faire un controller par page, car un contrôle regroupe des actions qui peuvent t'envoyer vers d'autres pages.

Ce que j'ai choisi de faire pour un peu de clarté c'est un contrôleur par "grosses briques" de mon site.

En admettant que chaque brique correspond à un menu du site, j'ai un truc du style :

Code:

Application
 |_ IndexController (menu Home)
        |_ Action 1
        |_ Action 2
        |_ Action ..
        |_ Action n
 |_ ContentController (menu News)
        |_ Action 1
        |_ Action 2
        |_ Action ..
        |_ Action n
 |_ SearchController (menu Recherche)
        |_ Action 1
        |_ Action 2
        |_ Action ..
        |_ Action n
 |_ MembersController (menu gestion des membres)
        |_ Action 1
        |_ Action 2
        |_ Action ..
        |_ Action n
 |_ AdminController (menu administration)
        |_ Action 1
        |_ Action 2
        |_ Action ..
        |_ Action n

Et donc par extension autant de Répertoires Views que de contrôleurs...

Je ne sais pas si c'est la bonne pratique, mais je n'avais pas envie de tout regrouper dans mon contrôleur Index, ya tellement d'actions à coder après que les .php deviennent vite fouillis...

D'autres avis ?

Charly

Dernière modification par charlysquare (06-11-2007 20:34:53)

Hors ligne

 

#4 07-11-2007 08:41:50

TiTerm
Membre
Date d'inscription: 01-07-2007
Messages: 175

Re: Organisation d'un site

Pourquoi pas, et si le site devient un peu plus gros, ou si pour reprendre ton principe de menu, tu doit gérer des sous-menus, tu peux regrouper les controlleurs d'un menu et de ses sous menus dans un module.

Après, l'architecture générale est très souple et vraiment customisable à souhaits à part quelques nom de répertoires qui sont imposés, on peux faire un peu ce que l'on veux, l'important est de faire quelque chose qui suit un schemas directeur générale,  qui soit le plus simple possible à exploiter par la suite et qui soit suffisament générique pour ne pas avoir a être revu si on veux faire évoluer le site.

par exemple, pour rebondir sur le poste de charly, nous, nous avons un peu le meme principe, c'est a dire que les entrées principale du menu sont des chemins static, puis les menu principaux sont des modules, les sous-menu de la page sont des controlleurs, enfin, comme dans les specs, on avait des niveaux de profondeur de 6, (il y a des accordéons puis des onglets), après les actions, on a géré 2 paramètres supplémentaires qui nous permettent de gérer ces 2 niveaux de profondeurs.
En revanche, comme travail avec un principe de layout, on a très peu de vue et donc un seul répertoire vue.
On gère chaque morceaux qui compose une  page comme un composant autonome (une pub, un menu, un bloc actu, etc... ), nous avons donc un répertoire supplémentaire nommés composants (avec arborescence par thème) dans lequel on vient piocher les composants que l'on doit afficher dans la vue. De cette manière, un composant menu utilisé par x pages est unique. Il est juste appelé par le layout.

Hors ligne

 

#5 07-11-2007 09:12:59

Pegase
Nouveau membre
Lieu: Grenoble
Date d'inscription: 19-06-2007
Messages: 9

Re: Organisation d'un site

Bonjour,

Ton approche par composants et layout m'interesse beaucoup, serait-il possible de l'expliquer un peu plus avec des exemples de code?

Merci smile

Hors ligne

 

#6 07-11-2007 10:10:59

TiTerm
Membre
Date d'inscription: 01-07-2007
Messages: 175

Re: Organisation d'un site

J'avais déjà décris le principe de base ici http://www.z-f.fr/forum/viewtopic.php?pid=1105#p1105, c'était basé sur le ZF 0.8 ou 0.9, je ne sais plus, mais après un rapide essai, le sample marche avec la 1.02.

Bien sur ça a pas mal évolué depuis, le code présenté était un "proof of concept", donc écrit en 1/2 journée.
Mais le principe global est la même si on a beaucoup affiné, factorisé et amélioré le tout.
Les principaux changements sont
- Factorisation de l'init() de chaque controlleur dans un controlleur abstract maitre.
- Création d'un loader de composant qui se charge de charger les groupes ou les composants depuis les layouts
- Creation d'un cache de composant utilisé par le loader de composant, et qui n'évalue le composant que s'il a évolué. Ca permet de faire du cache partiel dans une page de facon générique. Sauf si le composant le spécifie, son rendu sera automatiquement caché suivant un ensemble de critère. Du coup, il n'y a pas a réévaluer le rendu de ce composant tant que les sources de données qui alimente ce composant n'ont pas évoluées.
- etc..

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