Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour à tous,
je suis un p'tit nouveau sur ce forum. Je développe avec la framework Symfony depuis quelques projets et je souhaite me mettre aussi au framework de chez zend.
Je base un peu mon approche du ZF sur symfony et je suis un peu dérouté notamment par la partie View du pattern MVC impémenté dans ZF, enfin plus précisément le pattern "décoration" qui permet l'utilisation de layouts et permet l'intégration de composants qui s'affiche sur des partie de pages, par exemple dans symfony on trouve plusieurs notions dans la vue :
- partial
- composants
- slot
- coposants slot
- layout
- ...
Quel sont les equivalents de ces notions avec le ZF ? Quand est-il de la classe Zend_Layout ? comment s'utilise t-ell ? et est-elle stable ? car je ne trouve pas beaucoup de doc là dessus ... d'ailleur j'ai du mal à comprendre exactement le role de l'"incubator" ... (mais bon ça pourrais faire l'objet d'un autre thread)
J'ai besoin de trouver de la documentation clair qui me premet d'utiliser le ZF pour construire des vue complexes .. j'ai trouvé quelques infos sur internet, mais à chaque fois différentes (par exemple en surchargant la classe Zend_View) enfin bref je trouve que ça fais un peu "bricolage" et je ne comprends pas pourquoi il n'y a pas un consensus validant les "best practicies" du ZF pour faire des vues complexes (layout, petits modules imbriqués, etc ...)
Peut etre que les gens attendent que Zend_Layout arive à maturité ... mais il n'y a pas beaucoup de doc concernant Zend_Layout ...
En résumé, je cherche donc un moyen "standard' pour implémenter des pattern type "décoration" avec le ZF.
Merci de m'avoir lu et merci d'avance pour votre aide
Hors ligne
Salut kondor,
Pour comprendre le role de l'incubateur jette un œil sur le schéma de cette page :
http://framework.zend.com/wiki/display/ZFPROP/Home
Zend_Layout vient d'arriver dans l'incubateur il ne faut donc pas s'attendre à ce qu'il soit stable. Pour la doc il faudra te contenter de ça
http://www.nabble.com/Zend_Layout-ready … #a13600904
http://www.nabble.com/Zend_Layout-featu … #a13666707
UPDATE : Zend_Layout reloaded
http://www.nabble.com/Zend_Layout-chang … 16154.html
Pour l'équivalence Symfony / ZF
- partial => view helper partial et partial loop
- composants => sans être un équivalant il y le view helper action
- slot => view helper placeholder
- coposants slot => pas d'équivalant
- layout => Zend_Layout
Je n'ai pas encore assez expérimenté avec pour t'en dire plus.
Dernière modification par 2mx (11-12-2007 09:05:33)
Hors ligne
Super ! merci beaucoup 2mx pour toute ces infos .. c'est très utile
Hors ligne
Bonjour,
Quelques ptites questions pour un ptit newbie :
1/ J'ai pas trop saisi l'utilité du "placeholder" dans zend_layout.. "Use placeholder helper container for storing layout variables, not variable prefixes", pourriez-vous m'éclairer un peu + ?
2/ Je n'arrive pas à comprendre la différence entre un moteur de template (entre autres smarty) et le zend_layout, ya t'il des recoupements ? ou alors est-ce que ça s'utilise en parallèle ?
Un grand merci d'avance,
Charly
Hors ligne
Tous ces concepts sont assez bien expliqués dans le manuel de symfony et reste valable pour ZF
http://www.symfony-project.org/book/1_0 … View-Layer
Dernière modification par 2mx (23-11-2007 08:41:35)
Hors ligne
Zend_Layout passe dans le "core" (11-12-2007)
http://www.nabble.com/Zend_Layout-now-i … 16154.html
Dernière modification par 2mx (12-12-2007 15:47:38)
Hors ligne
ha bah c'est cool ça ... j'allais justement le tester aujourd'hui
y'a une petite doc quelque part ?
thanks
Hors ligne
Soit patient ça devrait venir. Julien va apparement nous sortir un petit tuto la dessus. Sinon, dans quand tu télécharge le zf, tu trouvera peut être du code de test avec... Puis sinon tu peux toujours fouiller dans le code, tu comprendras ainsi le fonctionnement :p
Des news et liens pour patienter: http://www.z-f.fr/forum/viewtopic.php?id=617
Hors ligne
La doc est dans la version SVN, mais faut la construire avec DoocBook...
Hors ligne
2mx a écrit:
La doc est dans la version SVN, mais faut la construire avec DoocBook...
Peut tu nous envoyer une archive zip de la doc au format HTML, car je n'arrive pas à compiler la doc en HTML (sou windows:cygwin) :
$ make Rendering the whole manual with ... xinclude --output html/index.html html.xsl manual.xml make: xinclude : commande introuvable make: [html/index.html] Erreur 127 (ignor'ee)
Vu que j'ai pas la patience d'attendre d'etre sur mon serveur linux pour effectuer la compilation, peux-tu envoyer une version HTML de la doc de Zend_Layout ?
Merci
Hors ligne
Ah, c'est bien pour faire plaisir , la doc est consultable ici :
http://2mx.fr/documentation/zf/
Dernière modification par 2mx (12-12-2007 14:47:49)
Hors ligne
Super ! merci beaucoup
Sinon, j'ai tester le zend layout et ça fonctionne plutot bien dans l'ensemble par contre j'ai un petit souci :
j'initialise le Zend_Layout :
$layout = new Zend_Layout(array( 'layoutPath' => KND_APP_DIR . DIRECTORY_SEPARATOR . 'views' . DIRECTORY_SEPARATOR . 'layouts', 'layout' => 'default' ), TRUE); $view = $layout->getView(); $view->addHelperPath(ZEND_FRAMEWORK_DIR . '/Zend/View/Helper');
Ensuite, j'ai un controleur qui contient ceci :
<?php class IndexController extends Zend_Controller_Action { function init() { $view = new Zend_View(); $view->setBasePath(KND_APP_DIR . DIRECTORY_SEPARATOR . 'views'); $this->_helper->layout()->sidebar = $view->render('sidebar.phtml'); } public function indexAction() { // accocié à un template .phtml qui affiche juste "toto"; } } ?>
Et à l'intérieur de sidebar.html j'ai :
<h2>Sidebar</h2> <ul> <li>Item 1</li> <li>Item 2</li> <li>Item 3</li> <li>Item 4</li> <li>Item 5</li> </ul> <!-- Affichage du contenu d'une autre action --> <?php echo $this->action('actiontest', 'foo', 'test') ?>
Le problème est le suivant :
Si la ligne
<?php echo $this->action('actiontest', 'foo', 'test') ?>
Est présente dans le fichier sidebar.phtml alors l'action 'actiontest' est bien affichée mais alors je n'ai plus le "toto" de mon action principale (i.e. dans index.phtml)
Si je commente la ligne
<?php //echo $this->action('actiontest', 'foo', 'test') ?>
Alors j'ai bien le "toto" de index.phml qui reviens...
Je ne pense pas que ce comportement soit normal ... ou bien je me trompe quelque part ?
Merci de votre aide ... mais bon maintenant je vais aussi pourvoir lire la doc ... cool merci 2mx
Hors ligne