Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 21-01-2008 15:11:33

Sephi-Chan
Membre
Lieu: Yerres (91)
Date d'inscription: 21-01-2008
Messages: 20
Site web

Une vue pour plusieurs modèles

Bonjour,

Je me présente rapidement, je suis donc Sephi-Chan, étudiant en école d'informatique (première année de prépa) et initiateur d'un projet de jeu par navigateur, Seelies.

La personne avec qui je code et moi-même avons décidé de s'initier à l'utilisation d'un framework et nous avons choisi Zend Framework.

Seulement, pour moi qui n'a qu'une maîtrise limitée en POO en ce qui concerne les Design Patterns, j'ai vite perdu mes repères devant le modèle MVC.

C'est pourquoi j'ai décidé de m'inscrire sur ce forum, pour pouvoir lire, poser des questions, et à terme, peut-être contribuer.

Mon problème, c'est que je ne comprends pas le fonctionnement du système de vues, malgré la documentation du module Zend_View, je ne comprends pas… Chaque action doit-elle avoir sa propre vue ?

J'ai vu sur Débuter avec le Zend Framework - Vue que l'auteur factorisait le code de sa source en incluant les parties figées de sa page sur chacune de ses vues ! ême si ce n'est que 2 lignes en plus, ça implique d'avoir une vue par action, et je trouve ça très lourd (et pas très professionnel), j'ai donc supposé qu'il y avait un moyen de rendre cela plus pratique. Suis-je dans l'erreur ?

J'espère que vous saurez m'aider. smile



Sephi-Chan

Hors ligne

 

#2 21-01-2008 16:07:53

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

Re: Une vue pour plusieurs modèles

oui Zend_layout est là pour ça

en non ce n'est pas lord et utiliser un même vue pour une multitude de contrôleur n'est justement pas pro

Zend_Layout permet de définir des blocs (des morceaux) de vue utilisé dans plusieurs vue.

il peut tout de même arriver qu'une vue serve à deux actions il suffit alors d'indiquer au contrôleur la vue qu'on veut utiliser en lieu et place des celle qui devrait l'être.
mais cela doit rester exceptionnel car justement l'intérêt de la vue c'est qu'elle ne s'occupe que de sa partie et est donc spécialisé dans son domaine.

Il ne faut pas confondre la vue qui est une instance de Zend_View et les script phtml qui décrivent la procédure d'affichage
il est assez simple dans le modèle MVC de  dériver la vue et de lui faire faire automatiquement pas mal de chose comme charger le décors principal de l'application, ou encore ajouter un menu etc.

du coup le script n'est la que pour ce qu'il est sensé faire afficher le contenu de la vue

A+JYT

Hors ligne

 

#3 21-01-2008 21:44:56

Julien
Membre
Date d'inscription: 16-03-2007
Messages: 501

Re: Une vue pour plusieurs modèles

J'ai écrit un atelier sur Zend_Layout : ici.

Ce composant sort fin du mois environ, mais il est dispo dans le dépo svn déja

Hors ligne

 

#4 22-01-2008 21:02:15

Sephi-Chan
Membre
Lieu: Yerres (91)
Date d'inscription: 21-01-2008
Messages: 20
Site web

Re: Une vue pour plusieurs modèles

sekaijin a écrit:

en non ce n'est pas lord et utiliser un même vue pour une multitude de contrôleur n'est justement pas pro

C'est lourd dans le sens gonflant de le faire. Factoriser les parties statiques est quand même la base de la base en PHP, c'est un peu honteux de devoir réinscrire la structure de mon XML sur chaque vue.

sekaijin a écrit:

Zend_Layout permet de définir des blocs (des morceaux) de vue utilisé dans plusieurs vue.

Ça c'est bien. smile Je vais m'atteler à l'utilisation de ce modile grâce à l'atelier de Julien, merci à vous deux pour l'information.

sekaijin a écrit:

il peut tout de même arriver qu'une vue serve à deux actions il suffit alors d'indiquer au contrôleur la vue qu'on veut utiliser en lieu et place des celle qui devrait l'être.
mais cela doit rester exceptionnel car justement l'intérêt de la vue c'est qu'elle ne s'occupe que de sa partie et est donc spécialisé dans son domaine.

Par curiosité, comment cela est-il possible ?


sekaijin a écrit:

Il ne faut pas confondre la vue qui est une instance de Zend_View et les script phtml qui décrivent la procédure d'affichage

Excuse-moi, j'ai un peu de mal, tout ça est tout nouveau pour moi et je ne cernes pas encore les subtilités. Je parlais effectivement des scripts .phtml, je trouvais pénnible d'en avoir un par action du contrôleur.

Merci encore pour le tuyau sur le Zend_Layout. wink


Sephi-Chan

Hors ligne

 

#5 22-01-2008 22:05:18

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: Une vue pour plusieurs modèles

Par curiosité, comment cela est-il possible ?

Dans ton action

Code:

//Pour désactiver le rendu auto
$this->_helper->viewRenderer->setNoRender()

//Pour rendre ta vue
$this->view->render('chemin/tavue.phtml');
//ou
$this->render('tavue','toncontroller'...); //cf doc :)

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