Poo MVC, demande de conseils à cause "complexification" des vues

Résolu
ryko1820 Messages postés 1677 Date d'inscription   Statut Membre Dernière intervention   -  
ryko1820 Messages postés 1677 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je réalise actuellement une petite web application en PHP OO sur la base d'un framework MVC "fait maison" mais plutôt simple et que je maîtrise suffisamment (je crois).

Mon problème réside surtout au niveau des vues, qui deviennent de plus en plus complexe et difficile à gérer / maintenir :
De plus en plus d'affichage conditionnel et de PHP (foreach, if count, etc ...) viennent les "polluer" ...

Quel est la bonne pratique répandue pour éviter ce genre de problème certainement courant ? Mes recherches ne m'ont pas trop ramenées de réponses pertinentes alors si vous avez des avis, des expériences personnelles sur le sujet, je suis preneur.



You may stop me but you can't stop us all ;-)

2 réponses

ryko1820 Messages postés 1677 Date d'inscription   Statut Membre Dernière intervention   276
 
il faut obligatoirement passer par un moteur de templates ?
0
ryko1820 Messages postés 1677 Date d'inscription   Statut Membre Dernière intervention   276
 
Bon finalement après avoir essayé quelques frameworks (sympa mais un peu lourds) je me suis mis à angular.js. Mes vues sont super clean maintenant (De loin, on dirait du pur html), à peine si on voit les balises et n'importe qui devrait pouvoir facilement intervenir dessus sans trop de difficultés. Je crois que c'est une alternative aux moteurs de template, des plus performante.

Nouveau problème, maintenant c'est pour transmettre les données entre mon controleur PHP et celui d'angular. (jusqu'a 10000 caractères).

J'ai essayé quelques trucs :

1/ Balise <script></script> dans la vue avec initialisation d'une variable JS contenant les datas que je passais avant en tableau PHP au format JSON.

Ca marche mais bon ... C'est pas super propre (?)


2/ Inclusion d'un script JS appelant en fait un xxxx.js.php contenant une entete de type Header("content-type: application/javascript");

Ca serait plus propre mais mes variables de vues sont pas dans le scope de ce script .js.php. Je pourrais les lui passer en get lors de son appel, mais la solution perdrait alors un peu de son intérêt :-) (ou alors faut que je trouve comment modifier le fonctionnement de ce mini framework).


3/ Je pense que je vais m'orienter vers cette solution : appel ajax du controleur lors de l'ouverture de la vue. Il y a des informations confidentielles (clef perso de l'API du web service) qui font que je ne peux déléguer totalement au JS l'appel, donc mon controleur sert forcement d'intermédiaire entre mes services JSON et ma vue, pour ça que je rechignais un peu a utiliser JS, je verrais bien pour les perf.

0