Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour à tous ;
Je me pose actuellement certaines questions:
J'aimerais fournir une API assez simple pour mes désigners (similaire à celle fournie par le projet Wordpress). Ainsi donc, dans les scripts de vues, il devrait être possible de faire:
show.phtml:
[lang=php] <h1><?php echo $this->post()->getTitle();?></h1> <div class="post" id="post-<?php echo $this->post()->getId();?>"> <div class="postMeta"> <?php echo $this->translate(sprintf('Published on %s by %s', $this->post()->getDate(), $this->post()->getAuthor()));?> </div> <div class="postSummary"> <?php echo $this->post()->getSummary();?> </div> <div class="postContent"> <?php echo $this->post()->getContent();?> </div> </div>
Au lieu de:
show.phtml:
[lang=php] <h1><?php echo $this->post['title'];?></h1> <div class="post" id="post-<?php echo $this->post['pid'];?>"> <div class="postMeta"> <?php echo $this->translate(sprintf( 'Published on %s by %s', new Zend_Date(this->post['created_on'], Zend_Date::TIMESTAMP), $this->post['firstname'] . ' ' . $this->post['lastname'])); ?> </div> <div class="postSummary"> <?php echo $this->post['teaser'];?> </div> <div class="postContent"> <?php echo $this->post['body'];?> </div> </div>
Ceci permettrait d'appliquer certain traitements (de présentation) sur les données sans que le désigners aient besoin de les implémenter directement dans les scripts de vues (comme la mise en forme des date, l'échappement..., la concaténation de certaines données...).
Première question:
Est-ce admis de procéder ainsi ?
Deuxième question:
Au niveau de l'implémentation, je pense fournir un conteneur d'objets 'Post' à l'aide de vue, celui-ci étant itérable. Ce conteneur représenterait donc une collection d'objets 'post'. L'aide de vue contiendrais des proxy vers les méthodes (getTitle(), getDate()) des objets 'Post'.
La question que je me pose ici est la suivante: Un objet 'Post' doit être vue ici comme une classe de service un objet de domaine, autre chose ? En d'autres mots, dois-je créer une classe spécifique (intermédiaire) ou puis-je directement implémenter toutes les méthodes (getTitle(), getDate()...) dans mon modèle, sachant que certains traitements sont plus liés à la couche présentation qu'autre chose.
Vous remerciant par avance.
Dernière modification par nuxwin (12-05-2011 16:20:27)
Hors ligne