Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > symfony
symfony Forum d'entraide sur le framework PHP symfony. Avant de poster : cours symfony et FAQ symfony
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 27/06/2011, 11h19   #1
Nouveau Membre du Club
 
Inscription : mars 2007
Messages : 311
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 311
Points : 33
Points : 33
Par défaut routing : récupérer L'url d'un module dans le controller

Bonjour,
j'ai besoin de récupérer l'URL complète vers mon module dans le controller. Je voudrais que cette URL soit sous forme de:

http://localhost:8080/frontend_dev.php/monModule

en cherchant sur le net, j'ai trouvé la fonction:
Code :
$request->getParameter('monModule')
mais ça m'affiche directement "/monModule" alors que j'ai besoin du chemin complet vers ce module.



des idées?

Merci
flora806 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/06/2011, 11h33   #2
Membre chevronné
 
Avatar de Herode
 
Développeur Web
Inscription : mars 2005
Messages : 769
Détails du profil
Informations personnelles :
Localisation : France, Savoie (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mars 2005
Messages : 769
Points : 788
Points : 788
Jamais essayé encore mais a priori je tenterai de récupérer le nom de la route associée à l'action (sauf si tu la connais déjà), quelque chose comme :
Code :
$maroute = sfContext::getInstance()->getRouting()->getCurrentRouteName();
puis j'en tirerai l'url complète avec url_for :
Code :
$url = url_for("@$maroute", true);
en n'oubliant pas de charger le helper au préalable si tu n'es pas dans un template :
Code :
sfProjectConfiguration::getActive()->loadHelpers('Url');
Herode est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/06/2011, 11h46   #3
Nouveau Membre du Club
 
Inscription : mars 2007
Messages : 311
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 311
Points : 33
Points : 33
Merci Herode,

j'ai essayé ton code, mais ça me récupère :

Citation:
"http://localhost:8080/frontend_dev.php/default/index"
il y a une autre fonction qui permet d'afficher le chemin complet mais de l'action courante pas uniquement du module:
Code :
1
2
3
 
sfContext::getInstance()->getRequest()->getUri()
//ça donne : http://localhost:8080/frontend_dev.php/monModule/MonAction1
c'est pas vraiment ce que je veux..
flora806 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2011, 14h39   #4
Modérateur
 
Avatar de Michel Rotta
 
Homme Michel Rotta
Responsable d'exploitation informatique
Inscription : septembre 2005
Messages : 4 913
Détails du profil
Informations personnelles :
Nom : Homme Michel Rotta
Âge : 49
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2005
Messages : 4 913
Points : 7 505
Points : 7 505
Passe ton appli en debug, sur un (ton) écran, vas dans la barre de debug et affiche le contenu de request, tu devrais y retrouver ton bonheur. Après, récupérer le paramètre est relativement simple.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
  • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
  • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
  • Une discussion est terminée ? Alors le bouton est votre ami !
Michel Rotta est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h03.


 
 
 
 
Partenaires

Hébergement Web