Pregunta

Estoy construyendo una URL dentro de una clase y me gustaría ser capaz de cambiar la ruta si es necesario más adelante con sólo cambiar el archivo routing.yml.

Si tengo la ruta:

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

¿Cómo puedo utilizar el url_for ( 'userSignup') ayudante en una clase para crear dinámicamente la URL?

¿Fue útil?

Solución

No es necesario utilizar los ayudantes de vista de su acción para generar una url:

$this->generateUrl("userSignup");

El método se define en sfComponent.class.php . Esta es la forma recomendada, no es la solución hacky de la carga de los ayudantes de vista y el uso de ellos.

Otros consejos

Sólo intentado esto con 1.2 así que no puedo hablar en nombre de todas las versiones anteriores ...

Desde cualquiera de sus clases:

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

... entonces se puede continuar con el uso de cualquiera de las funciones definidas en el asistente de url.

debería utilizar

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

No debe usar sfContext::getInstance() para recuperar el de configuración.

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

// use 
sfApplicationConfiguration::getActive()->loadHelpers(array('Url'));
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top