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 09/12/2010, 15h02   #1
Membre à l'essai
 
Inscription : mars 2008
Messages : 159
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 159
Points : 24
Points : 24
Par défaut Récupérer l'URL courante

Bonjour,

Dans une action j'essaye de récupérer l'url courante par exemple "/categories/toto/toto.php"

$this->getContext()->getInstance()->getRequest()->getUri(); me retourne l'url mais avec /frontend_dev.php dedans , est-il possible de l'avoir sans ? peut être avec SfRoute ?




Merci d'avance
coupolites est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2010, 16h51   #2
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
Pourquoi vouloir récupérer l'url courante ?

Tout est fait dans symfony pour que l'url soit totalement indépendante de l'action...
__________________
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
Vieux 09/12/2010, 17h13   #3
Candidat au titre de Membre du Club
 
Inscription : avril 2010
Messages : 77
Détails du profil
Informations forums :
Inscription : avril 2010
Messages : 77
Points : 12
Points : 12
D'accord avec Michel !
Mais néanmoins t'as cette méthode que tu peux appeler dans ton action.Je pense qu'elle répondra à ton problème:

Code :
 $this->uri = $_SERVER['REQUEST_URI'];
lepopol est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2010, 17h17   #4
Membre à l'essai
 
Inscription : mars 2008
Messages : 159
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 159
Points : 24
Points : 24
Citation:
Envoyé par lepopol Voir le message
D'accord avec Michel !
Mais néanmoins t'as cette méthode que tu peux appeler dans ton action.Je pense qu'elle répondra à ton problème:

Code :
 $this->uri = $_SERVER['REQUEST_URI'];
Le problème est que cela retourne le contrôleur ( /frontend_dev.php/ ) dans l'url.
coupolites est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2010, 19h04   #5
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
Il ne faut pas utiliser les variables $_xxx dans symfony, mais toujours passer par l'objet sfRequest qui est transmit à toutes les actions.

La raison est double, sécurité, les paramètres sont nettoyé d'une part non négligeable d'attaques possibles. Et aussi, le système de test n'utilise pas les variables $_xxx mais uniquement l'objet sfRequest, si on passe en directe, il ne sera pas possible d'utiliser le système de tests intégrés, ce qui serait dommage.

De plus, je ne comprend pas trop ta démarche, en effet, en symfony, une url de base c'est le nom du module et le nom de l'action.

Les autres paramètres doivent ce retrouver dans le parameterHolder de l'objet sfRequest. Récupérer l'url en entier n'a aucun intérêt.

Si tu veux plus d'aide, il faudra être plus prolifique sur ce que tu souhaites réellement réaliser à l'aide de l'url. Il sera alors possible de discuter des bonnes méthodes pour le faire à l'aide de symfony.
__________________
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é
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h49.


 
 
 
 
Partenaires

Hébergement Web