Page 1 sur 1

Abstraction de vue

Posté : 18 févr. 2011, 22:22
par devlop78
Bonjour,

Il existe des gestionnaires de templates tels que smarty, mais actuellement, dans mon application, j'utilise des methodes pour un objet plutot de type vue comme :

addMeta () // Pour ajouter un code entre <head> et </head>
addMenuItem () // Pour ajouter un item dans le menu

etc.

Evidemment, ce n'est pas le mieux. Il me faudrait quelque chose comme

$view->head->scripts->add(); // Pour ajouter du javascript
$view->menu->items->add(); // Pour ajouter un item au menu

Et des collecteurs tels que $view->menu->items où je peux itérer dessus et qui me retourneraient chaque item sous forme d'objet. Une fois tout le code exécuté, on peut imaginer un $view->show() qui construirait alors le code HTML, avec ou sans des outils tels que Smarty, puis l'enverrais au navigateur.

Je suis certain que ça existe. Mais comment ça s'appelle, et est-ce que ça fait vraiment partie de la vue ou du contrôleur ?

Merci par avance ;o

Re: Abstraction de vue

Posté : 18 févr. 2011, 22:51
par stealth35
le contrôleur possède ca propre vue, donc je dirais que c'est plus : $this->view->head->scripts->add(); :wink:

Re: Abstraction de vue

Posté : 19 févr. 2011, 01:12
par devlop78
Lol. Merci Stealth, ma question concernait une librairie.

http://julien-pauli.developpez.com/tuto ... ontroleur/

La page La vue gérant le "templateEngine". C'est donc bien la vue. A part ça, plutôt de me focaliser sur les termes (c'était une petite parenthèse), je cherche à voir si la librairie existe. Peut-être même un site qui en recense (des biens hein =D> ) car quand je réfléchis à l'amélioration de mon code, en général, je ne fais jamais que retrouver "mon idée" dans les librairies et framework. Finalement, autant les utiliser alors ;)

Re: Abstraction de vue

Posté : 21 févr. 2011, 23:17
par stealth35
il faudrait un classe head ainsi qu'une scripts, et les faire afficher au bon moment avec le controller, tout ca existe dans le ZF par exemple, la classe du tuto est surtout une base pour une MVC mais pas un lib à utiliser vraiment

Re: Abstraction de vue

Posté : 22 févr. 2011, 01:51
par devlop78
Oui j'ai un peu réfléchi et effectivement c'est assez spécifique. Après tout, mon menu a une composition assez particulière et je vais me limiter je pense à une classe menu traversable avec une methode add(), une classe bloc (ensemble d'items liens) traversable avec une methode add() et une classe item. Actuellement, je ne fais que demander à mon menu d'ajouter un bloc ou un item (si vous préférez une catégorie et une page, mais comme c'est un backoff, ...)