6 Stimmen

Wie kann ich in Symfony den url_for-Helper in einer Klasse verwenden?

Ich baue eine URL innerhalb einer Klasse und ich möchte in der Lage sein, das Routing zu ändern, wenn nötig später durch Ändern der routing.yml-Datei.

Wenn ich die Route habe:

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

Wie kann ich die url_for('userSignup') Helper in einer Klasse, um die URL dynamisch zu erstellen?

13voto

Kyril Punkte 2908

Ich habe das nur mit 1.2 ausprobiert, kann also nicht für frühere Versionen sprechen...

Aus einer Ihrer Klassen:

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

...dann können Sie mit einer der in der Url-Hilfe definierten Funktionen fortfahren.

13voto

Maerlyn Punkte 32964

Sie brauchen die View-Helfer in Ihrer Aktion nicht zu verwenden, um eine URL zu erzeugen:

$this->generateUrl("userSignup");

Die Methode ist definiert in sfComponent.class.php . Dies ist der empfohlene Weg, nicht der umständliche Weg, die View-Helfer zu laden und sie zu verwenden.

1voto

Ales Maticic Punkte 1745

Sollten Sie

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

0voto

j0k Punkte 22253

Sie sollten nicht verwenden sfContext::getInstance() um die Konfiguration abzurufen.

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

// use 
sfApplicationConfiguration::getActive()->loadHelpers(array('Url'));

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X