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 -
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 ;-)
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 ;-)
A voir également:
- Poo MVC, demande de conseils à cause "complexification" des vues
- Vue satellite en direct gratuit de ma maison - Guide
- Vues de profil insta - Guide
- Comment savoir qui a vu mes publications sur facebook - Guide
- Vues story instagram disparu ✓ - Forum Instagram
- Spectateurs de stories plus visible ✓ - Forum Instagram
2 réponses
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.
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.