Précédent   Forum des professionnels en informatique > PHP > Outils > Zend > Zend Framework > MVC
MVC Forum de support sur le développement d'applications de type modèle-vue-contrôleur avec Zend Framework ainsi que vos questions sur les plugins, les helpers etc. Avant de poster -> Cours MVC, FAQ ZF Controller
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/08/2007, 12h18   #1
Rédacteur
 
Avatar de Yoteco
 
Alain Sahli
Ingénieur développement logiciels
Inscription : décembre 2004
Messages : 1 086
Détails du profil
Informations personnelles :
Nom : Alain Sahli
Âge : 25

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : décembre 2004
Messages : 1 086
Points : 1 479
Points : 1 479
Par défaut URL rewriting pour une meilleure visibilité

Bonjour,

Imaginons que j'ai un module page qui a un controller page et une action loadPage. On va charger les pages grâce à leur id ce qui va nous donner des liens dans ce genre:
http://www.monsite.com/page/page/loadPage/id/4589

Personnellement je trouve ce genre de lien pas très parlant pour un visiteur. Alors je me suis dis que l'on pourrait mettre un nom de page comme id puis le hasher... mais c'est pas bcp plus explicite:
http://www.monsite.com/page/page/loadPage/id/accueil

C'est déjà un peu mieux. Mais ne serait-il pas possible d'avoir une lien du stye:
http://www.monsite.com/page/accueil

Le problème c'est que là il va simplement dans le module page puis le controller accueil et sa va bugger...

Quelqu'un a-t-il une bonne solution à proposer?
Yoteco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2007, 14h40   #2
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Il me semble qu'il est possible de définir des contrôleurs, modules et actions par défaut. Cela pourrait te donner :
www.monsite.com/page/accueil (contrôleur "page", module "index" et action "index" avec le paramètre "accueil")
Dans ton action, fais une recherche en base sur "accueil" pour retrouver ce dont tu as besoin. Attention, il te faut une contrainte UNIQUE sur ce champs sinon...
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2007, 18h59   #3
Rédacteur
 
Avatar de Yoteco
 
Alain Sahli
Ingénieur développement logiciels
Inscription : décembre 2004
Messages : 1 086
Détails du profil
Informations personnelles :
Nom : Alain Sahli
Âge : 25

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : décembre 2004
Messages : 1 086
Points : 1 479
Points : 1 479
Ok vais essayer... Dès que j'ai du nouveau je poste
Yoteco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2007, 19h04   #4
Rédacteur
 
Avatar de Yoteco
 
Alain Sahli
Ingénieur développement logiciels
Inscription : décembre 2004
Messages : 1 086
Détails du profil
Informations personnelles :
Nom : Alain Sahli
Âge : 25

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : décembre 2004
Messages : 1 086
Points : 1 479
Points : 1 479
Je viens de tester mais il me retourne une erreur (logique..)

quand je met http://www.monsite.com/page/accueil il me dit controller invalide (login) car il prend page comme module et accueil comme controller et accueil n'est pas un controller...
Yoteco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2007, 19h49   #5
Membre confirmé
 
Inscription : septembre 2004
Messages : 519
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 519
Points : 257
Points : 257
je vais sans doute dire une betise, mais bon, au cas ou, je me lance...
ici http://framework.zend.com/manual/fr/...r.introduction on peut creer nos propres routeurs (si j'ai bien lu) et shinter le shema classique, par defaut, que tu utilises. est-ce que la solution n'est pas la ?
bibile est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2007, 21h17   #6
Rédacteur
 
Avatar de Yoteco
 
Alain Sahli
Ingénieur développement logiciels
Inscription : décembre 2004
Messages : 1 086
Détails du profil
Informations personnelles :
Nom : Alain Sahli
Âge : 25

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : décembre 2004
Messages : 1 086
Points : 1 479
Points : 1 479
Oui mais je ne veux pas refaire le routage... Je veux garder mes url du type :module/:controller/:action
Yoteco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2007, 21h43   #7
Membre confirmé
 
Inscription : septembre 2004
Messages : 519
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 519
Points : 257
Points : 257
a mon avis, pour passer de ca:
http://www.monsite.com/page/page/loadPage/id/4589

a ca:
http://www.monsite.com/page/accueil

tu vas devoir re-router.

ca:
http://www.monsite.com/page/page/loadPage/id/accueil
ca semble bcp plus simple. dans ton action loadPage, tu reussiras sans pb a recuperer la page a afficher.

et tu dis que tu veux garder l'url du type module/controller/action. pourtant, dans ton 1er message, tu veux faire ca:
http://www.monsite.com/page/accueil
tu vires le l'action et le controler (ou le module)

peut-etre que je comprends mal la question en fait
bibile est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2007, 21h52   #8
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
L'un des problèmes est que l'URL http://www.monsite.com/page/page/loadPage/id/accueil n'est pas du tout otimale. C'est même assez laid en fait
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2007, 22h01   #9
Membre confirmé
 
Inscription : septembre 2004
Messages : 519
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 519
Points : 257
Points : 257
c'est etrange que la solution du 2ieme post ne fonctionne pas.
pourquoi il voit "page" comme module et non pas comme controler par defaut
a mon avis, ca doit etre possible.
par contre, je ne suis pas sur de l'interet de cette methode par rapport a du re-routage.
bibile est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2007, 23h16   #10
Rédacteur
 
Avatar de Yoteco
 
Alain Sahli
Ingénieur développement logiciels
Inscription : décembre 2004
Messages : 1 086
Détails du profil
Informations personnelles :
Nom : Alain Sahli
Âge : 25

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : décembre 2004
Messages : 1 086
Points : 1 479
Points : 1 479
Citation:
Envoyé par bibile Voir le message
c'est etrange que la solution du 2ieme post ne fonctionne pas.
pourquoi il voit "page" comme module et non pas comme controler par defaut
Parce que mon module s'appelle page et que le contrôleur s'appelle page... peut-être que je dois changer de nom

Citation:
Envoyé par bibile Voir le message
par contre, je ne suis pas sur de l'interet de cette methode par rapport a du re-routage.
je dois garder la structure :module/:controller:/:action car je vais l'utiliser pour le reste du site, par exemple si qqun met son profil à jour sur le site ce sera www.monsite.com/user/profil/update/... c'est uniquement pour l'affichage des page que j'aimerais une autre url. Car les gens s'en tape pas mal de connaître l'url pour mettre un profil à jour par contre l'url d'une page sa c'est plus intéressant.
Yoteco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2007, 17h09   #11
Membre confirmé
 
Inscription : septembre 2004
Messages : 519
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 519
Points : 257
Points : 257
autre idee: faire de l'url-rewriting dans le .htaccess, avant de tout rediriger vers le bootstrap.
je ne sais pas si c'est possible. c'est juste une idee
bibile est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2007, 17h35   #12
Rédacteur
 
Avatar de Yoteco
 
Alain Sahli
Ingénieur développement logiciels
Inscription : décembre 2004
Messages : 1 086
Détails du profil
Informations personnelles :
Nom : Alain Sahli
Âge : 25

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : décembre 2004
Messages : 1 086
Points : 1 479
Points : 1 479
Ouais je pourrais rediriger en fonction de l'extension... si c'est des .html je redirige sur /page/page/loadPage/pageName/le_nom_de_la_page.html vais essayer...

Merci.
Yoteco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2007, 18h09   #13
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Je trouve encore que "page/page/loadPage" est une répétition à aviter absolument, tant point de vue utilisateur que référencement.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2007, 20h50   #14
Rédacteur
 
Avatar de Yoteco
 
Alain Sahli
Ingénieur développement logiciels
Inscription : décembre 2004
Messages : 1 086
Détails du profil
Informations personnelles :
Nom : Alain Sahli
Âge : 25

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : décembre 2004
Messages : 1 086
Points : 1 479
Points : 1 479
euh tu proposerais quoi alors ???
Yoteco est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h57.


 
 
 
 
Partenaires

Hébergement Web