Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 10-05-2011 10:59:15

nuxwin
Membre
Lieu: Caen (14)
Date d'inscription: 17-03-2011
Messages: 66

Designers - API

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:

Code:

[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:

Code:

[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

 

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