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 12/04/2011, 11h32   #1
Invité de passage
 
Inscription : février 2010
Messages : 38
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 38
Points : 2
Points : 2
Par défaut condition dans une url

Bonjour , j'ai le problème suivant :

http://monsite/accueil?mon_param=machin1
http://monsite/rubrique1?mon_param=machin2

j'aimerais savoir comment faire pour dire que quand j'applique mon_param dans une url je peux poser une condition par exemple pour faire un echo tout bête.

donc si j'entre dans l'url http://monsite/accueil?test=qqch1 je n'ai pas d'echo dans la page mais si j'entre les mots "mon_param" j'ai un echo.

Merci.
dnd888 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2011, 11h45   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Code :
1
2
if (isset($_GET['monparam'])) {
}
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2011, 11h57   #3
Invité de passage
 
Inscription : février 2010
Messages : 38
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 38
Points : 2
Points : 2
Citation:
Envoyé par sabotage Voir le message
Code :
1
2
if (isset($_GET['monparam'])) {
}
Merci ,

Par contre j'aurais souhaité savoir quel est le fichier dans lequel cette règle doit être appliquée afin que ça se répercute sur toutes les url du site.
dnd888 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2011, 13h08   #4
Invité régulier
 
Inscription : janvier 2007
Messages : 47
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 47
Points : 7
Points : 7
Par défaut Dans action/template pour chaque module ?

Le mieux ( je pense ) c'est dans action du module

Code :
$this->monmessage =  $request->getParameter('monParam')
et dans le template

pierreHaut est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2011, 14h57   #5
Membre confirmé
 
Inscription : février 2009
Messages : 317
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 317
Points : 209
Points : 209
Tu peux utiliser la méthode preExecute() pour effectuer ce test avant chaque actions de ton module.
Par contre tu devra reproduire cette méthode pour chaque modules ou tu veux reproduire ce comportement.
insane1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2011, 17h19   #6
Invité de passage
 
Inscription : février 2010
Messages : 38
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 38
Points : 2
Points : 2
Merci pour vos réponses , cependant ca ne fonctionne pas , dans la variable message j'ai rien qui s'affiche. Si mon adresse a une routine de ce style :

http://monsite.com/magasin/index , je fais aussi un $request->getParameter('magasin') ?
dnd888 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2011, 17h31   #7
Membre confirmé
 
Inscription : février 2009
Messages : 317
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 317
Points : 209
Points : 209
Heuu non.
Il faudrait quelque chose comme ceci :

www.monsite.com/index.php?magasin=monmagasin

Avec un
Code :
$request->getParameter('magasin')
tu pourras récupérer la valeur de cette variable (soit monmagasin).
insane1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2011, 11h46   #8
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
Juste pour préciser : ne jamais utiliser de $_GET ou $_POST avec symfony. Toujours passer par $request dans l'action.

Quel est la route que tu utilises ? C'est de celle-là que va dépendre le nom de la variable à récupérer.
__________________
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 19/04/2011, 10h19   #9
Invité de passage
 
Inscription : février 2010
Messages : 38
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 38
Points : 2
Points : 2
Merci beaucoup pour ces réponses , malheuresement je ne souhaite pas faire des $request->getparameter dans toutes les actions de mon site , y'a t'il un moyen de faire en sorte que ca se repercute sur toutes les url ?
( il doit bien y'avoir un fichier dans symfony qui permet d'agir sur toutes les url )

Merci
dnd888 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2011, 10h28   #10
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
la route permet de structurer ces url et de donner une indépendance entre le modèle de développement et la structure présentée à l'utilisateur.

La route permet de mettre un peu d'intelligence avec les sfDoctrineRoute qui permet notamment de vérifier qu'un enregistrement existe et donc de traiter cela avant même de passer dans le contrôleur.

La seul méthode pour récupérer un paramètre reste le
Code :
sfRequest->getParameter()
. Elle sera à utiliser à chaque fois qu'il faut récupérer un paramètre.

Il est éventuellement envisageable d'utiliser les méthodes objet preExecute du contrôleur pour récupérer des données et effectuer un traitement avant toutes actions du contrôleur. Mais je ne vois pas trop le bénéfice ici.
__________________
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 02h49.


 
 
 
 
Partenaires

Hébergement Web