Question

Je construis une URL à l'intérieur d'une classe et je voudrais être en mesure de changer le routage si nécessaire par la suite en changeant simplement le fichier routing.yml.

Si j'ai la route:

userSignup:
  url:   /user/signup
  param: { module: user, action: signup }

Comment puis-je utiliser le url_for ( 'userSignup') aide dans une classe pour créer dynamiquement l'URL?

Était-ce utile?

La solution

Vous n'avez pas besoin d'utiliser les aides de vue dans votre action pour générer une URL:

$this->generateUrl("userSignup");

Le procédé est défini dans la sfComponent.class.php . Ceci est la méthode recommandée, pas la solution de contournement hacky de chargement des aides de vue et de les utiliser.

Autres conseils

Je n'essayé avec 1,2 donc je ne peux pas parler pour toutes les versions précédentes ...

De l'un de vos cours:

sfContext::getInstance()->getConfiguration()->loadHelpers(array('Url'));

... vous pouvez continuer en utilisant l'une des fonctions définies dans l'assistant url.

vous devez utiliser

sfLoader::loadHelpers(array('Url'));

Vous ne devriez pas utiliser sfContext::getInstance() pour récupérer les configuration.

// instead of using
sfContext::getInstance()->getConfiguration()->loadHelpers('Url');

// use 
sfApplicationConfiguration::getActive()->loadHelpers(array('Url'));
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top