Siempre tiendo a olvidar estas funciones incorporadas de Symfony para hacer enlaces.¿Cómo puedo generar una URL amigable en Symfony PHP?
Respuesta
Si su objetivo es tener URLs amigables a través de su aplicación, utilice el siguiente enfoque:
1) Crear una regla de enrutamiento para el módulo/acción en el archivo routing.yml de la aplicación. El siguiente ejemplo es una regla de enrutamiento para una acción que muestra los más recientes preguntas en una aplicación, el impago a la página 1 (usando un localizador):
recent_questions:
url: questions/recent/:page
param: { module: questions, action: recent, page: 1 }
2) Una vez que se establece la regla de enrutamiento, los auxiliares de url_for()
en su plantilla para formatear las URL salientes.
<a href="<?php echo url_for('questions/recent?page=1') ?>">Recent Questions</a>
En este ejemplo, se construirá la siguiente dirección URL: http://myapp/questions/recent/1.html
. 3) El sistema de enrutamiento analizará las URL (solicitudes) entrantes y si se encuentra una coincidencia de patrón en la configuración de la regla de enrutamiento, los comodines nombrados (es decir, la parte :/page
de la URL) se convertirán en parámetros de solicitud.
También puede usar el ayudante link_to()
para generar una URL sin utilizar la etiqueta HTML <a>
.
Este consejo es para symfony 1.0. Probablemente funcionará para versiones posteriores.
Dentro de su clase sfAction:
cadena genUrl ($ parámetros = array(), $ absoluta = false)
por ejemplo. $ this-> getController() -> genUrl ('yourmodule/youraction? Key = value & key2 = value', true);
En una plantilla:
Esto generará un enlace normal.
cadena link_to ($ nombre, $ internal_uri, $ options = array());
por ejemplo. link_to ('Mi nombre de enlace', 'yourmodule/youraction? Key = clave & clave2 = valor');
Además, si usted quiere realmente una cadena de consulta con la url, utiliza este:
link_to('My link name', 'yourmodule/youraction?key=value&key2=value',array('query_string'=>'page=2'));
De lo contrario, va a tratar de ruta como parte de la url y probablemente romper su acción.
Puede generar URL directamente sin definir primero la regla.
Si desea generar URL en las acciones, puede utilizar generateUrl() ayudante:
$this->generateUrl('default', array('module'=>'[ModuleName]','action'=>'[ActionName]'))
Si desea generar URL en las plantillas, puede utilizar url_for() ayudante :
url_for('[ModuleName]/[ActionName]', $absolute)
establezca $ absolute como verdadero/falso, no olvide usar echo si desea visualizarlo.
Pero si se quiere hacer un enlace (algo así como <a href=""></a>
), link_to() ayudante va a hacer.
- 1. ¿Cómo puedo generar una URL amigable en C#?
- 2. Cómo crear una URL amigable en php?
- 3. URL amigable nombre de usuario en PHP?
- 4. ¿Cómo puedo crear una URL amigable en ASP.NET MVC?
- 5. ¿Cómo puedo generar slugs URL en Perl?
- 6. ¿Cómo es SEO amigable la URL Unicode?
- 7. ¿Cómo puedo cargar una imagen desde una URL en PHP
- 8. URL amigable con SEO en Yii
- 9. Creando una URL seo amigable desde una cadena
- 10. PHP: ¿Cómo puedo generar una firma HmacSHA256 de una cadena
- 11. Uso de rutas para generar direcciones URL en una tarea de Symfony
- 12. ¿Cómo generar una URL de activo desde un servicio?
- 13. Cómo generar URL en django
- 14. ¿Cómo puedo determinar si una URL redirecciona en PHP?
- 15. ¿Buen nombre para "título amigable para URL"?
- 16. ¿Cómo puedo usar ID amigable en Rails como mysite.com/[USERNAME]
- 17. use .htaccess para la url amigable
- 18. ¿Cómo generar una URL compleja como stackoverflow?
- 19. cómo configurar URL amigable con marco yü automáticamente
- 20. Cómo eliminar .html de la URL amigable - Modx?
- 21. Generar una URL externa en raíles
- 22. ¿Cómo puedo generar una navegación en Middleman?
- 23. Escribiendo código PHP amigable con la refactorización
- 24. En PHP, ¿cómo puedo generar un gran número pseudoaleatorio?
- 25. Cómo generar URL temporales en Django
- 26. Cómo generar una URL única para imágenes (imgur.com me gusta) en php?
- 27. Expresión regular: cualquier texto para ser amigable con la URL
- 28. ¿Cómo puedo eliminar una URL?
- 29. Auto generar REST API docs de Symfony
- 30. ¿Cómo se eliminan los caracteres no válidos al crear una URL amigable (es decir, cómo se crea una babosa)?
Solo un comentario, pero la URL no se construirá con la parte .html a menos que la aplicación esté configurada para hacerlo (de manera predeterminada no lo está). –