Pattern MVC et liens hypertextes [Résolu]

mentral 56 Messages postés jeudi 29 mai 2003Date d'inscription 22 janvier 2008 Dernière intervention - 3 août 2006 à 17:53 - Dernière réponse : mentral 56 Messages postés jeudi 29 mai 2003Date d'inscription 22 janvier 2008 Dernière intervention
- 7 août 2006 à 11:18
Imaginons un framework PHP type MVC classique, avec le index.php à la racine du serveur comme point d'entrée unique de l'application, avec les modules déclenchés par $_GET, etc. Ma question est : justement, lorsque l'on construit sa webapp, il faut bien placer des liens sur la page pour déclencher les actions. Mais le contenu de ces liens, autrement dit l'URL que va analyser le contrôleur, fait-il plutôt partie de la vue ou du modèle ? Est-ce plutôt une forme de présentation ou une forme de vue ?

D'un côté, on peut considérer cela comme de la présentation : ces liens sont des éléments de l'interface de la webapp, au même titre que des boutons dans une application non-web standard. D'un autre côté, par le fait qu'ils doivent être formatés (pas question de rentrer l'URL www.site.com/module/action.html "à la main", cela doit être généré par le framework...), ils deviennent une sorte de données.

Niveau code, les deux alternatives que je vois sont les suivantes :
1. du code php dans les templates qui ne se contente pas d'afficher une variable déjà calculée, style
[<?php echo $url->build( ">Action du module]
2. ce code est calculé dans le modèle et renvoyé sous forme d'une variable ; le template devient :

[<?php echo $links[1]; ?> Action du module]

Voilà ; toutes réponses ou remarques sont les bienvenues sur ce point, il est vrai, un peu perfectionniste !






[ NemetraL ]
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 7 août 2006 à 09:07
3
Merci
Hello,

ça en revient sensiblement au même. On parle PHP là, un langage orienté web. Mais, parlong d'un framework que je connais bien, ayant bossé dessus dans ma précédente boîte : XMLRad. C'est un framework basé sur XML/XSL-T, un langage serveur au choix (un paquet sont supportés, dont PHP, mais aussi Delphi, C#, Java, etc...), et une bdd.
Quand tu charges un module, t'as une url du type XMLRad.exe/module.dll'option1=valeur1
De toutes façons, c'est ce que tu verras dans ta barre d'adresse. L'url est construite dynamiquement par me module, selon les actions entreprises : c'est géré au sein du module, et dépend de la façon d'appeler le module. Dans le cas d'XMLRad, ça reste simple, puisque tu reprends l'url telle quelle, dan tes pages :
 [module.dll'option2=valeur2 bla]
Je ne sais pas ce qu'il en est pour PHP dans ce framework vu que nous l'utilisons avec Delphi.
Mais ça, c'est pour un module ne gérant pas seul ces options.
Il y avait un module de pagination, justement. Ben celui là, il te suffisait de l'inclure dans ton module principal, et tu n'avais plus rien à gérer. Le sous-module de paginatiàon se chargeant de savoir où il était, et ce qu'il devait afficher. Vu que l'on jouait avec un flux XML et une technologie qu'ils appelaient les "fragments xml", le moteur interne du sous module créait ses fragments, et appelait uniquement ce dont il avait besoin dans la bdd, en fonction de l'endroit (de la page) où on se trouvait.
Mais, d'où la difficulté de te répondre : c'était dépendant du fonctionnement interne du framework.
Bref, tout dépend de la technologie que tu emploies. Mais l'intérêt d'un framework, c'est quand même de pouvoir TRES FACILEMENT insérer des modules, ou créer les tiens évidemment, avec un minimum de travail de développement. Donc, trouver un moyen de gérer ce genre de choses.

Merci malalam 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de malalam
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 3 août 2006 à 18:07
0
Merci
hello,

pas le temps de m'étendre ce soir, mais je vote pour la solution 1.

Je l'expliquerai demain.
Commenter la réponse de malalam
mentral 56 Messages postés jeudi 29 mai 2003Date d'inscription 22 janvier 2008 Dernière intervention - 6 août 2006 à 04:46
0
Merci
Re-salut

Plus de précisions sur le problème :

Faut-il faire une distinction entre un simple lien pointant sur un module (ex. un lien de menu pointant sur le module "forum") et un lien intrinsèque à un module (ex. un lien sur un module de page "normale" pointant vers la page suivante), le second lien étant dynamique (car les "pages suivantes" changent à chaque page).

Je suis sûr que la question s'est déjà posée pour des frameworks existants... Le problème est de trouver "noir sur blanc" la solution retenue.


[ NemetraL ]
Commenter la réponse de mentral
mentral 56 Messages postés jeudi 29 mai 2003Date d'inscription 22 janvier 2008 Dernière intervention - 7 août 2006 à 11:18
0
Merci
Salut

J'aime bien l'idée du sous-module de pagination. Je vais creuser le truc. Dans le framework que j'essaye de mettre en place, il y a quelque chose d'un peu similaire à ces "fragments xml", en plus simple certainement, mais qui devrait rendre la chose possible.

[ NemetraL ]
Commenter la réponse de mentral

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.