En comparación con hace aproximadamente 10 años, he notado un cambio hacia marcos que usan el estilo de enrutamiento que desacopla la ruta URL del sistema de archivos. Esto generalmente se logra con la ayuda de un patrón de controlador frontal.
Es decir, cuando antes, la ruta URL se asignaba directamente al sistema de archivos y, por lo tanto, reflejaba los archivos y carpetas exactos en el disco, hoy en día, las rutas URL reales están programadas para dirigirse a clases específicas a través de la configuración y, como tal, ya no reflejan el archivo Carpeta del sistema y estructura de archivos.
Pregunta
¿Cómo y por qué esto se convirtió en algo común? ¿Cómo y por qué se decidió que es "mejor" hasta el punto en que el enfoque directo al archivo, una vez común, fue efectivamente abandonado?
Otras respuestas
Aquí hay una respuesta similar que entra un poco en el concepto de ruta y algunos beneficios y desventajas: con los marcos PHP, ¿por qué se usa el concepto de "ruta"?
Pero no aborda los aspectos del cambio histórico, o cómo o por qué este cambio se produjo gradualmente, a donde cualquier proyecto nuevo hoy en día está utilizando más o menos este nuevo patrón de estilo de enrutamiento y el directo al archivo está desactualizado o abandonado.
Además, la mayoría de esos beneficios e inconvenientes mencionados no parecen ser lo suficientemente significativos como para justificar un cambio global de este tipo. El único beneficio que puedo ver impulsando este cambio tal vez es ocultar el sistema de archivos / carpetas al usuario final, y también la falta ?param=value¶m2=value
, lo que hace que las URL se vean un poco más limpias. ¿Pero fueron esos el único motivo del cambio? Y si es así, ¿por qué estaban esas razones detrás de esto?
Ejemplos:
Estoy más familiarizado con los marcos PHP y muchos marcos modernos populares utilizan este enfoque de enrutamiento desacoplado. Para que funcione, configure la reescritura de URL en Apache o un servidor web similar, donde la funcionalidad de la aplicación web ya no se activa a través de una ruta URL directa a archivo.
Zend expresivo
https://docs.zendframework.com/zend-expressive/features/router/aura/
https://docs.zendframework.com/zend-expressive/features/router/fast-route/
https: //docs.zendframework. com / zend-expressive / features / router / zf2 /Marco Zend
https://docs.zendframework.com/zend-mvc/routing/
Laravel
https://laravel.com/docs/5.5/routing
CakePHP