En comparación con hace unos 10 años, observé un cambio hacia los marcos que utilizan el estilo de enrutamiento que desacopla la ruta URL del sistema de archivos. Esto normalmente se logra con la ayuda de un patrón de controlador frontal.
Es decir, cuando antes, la ruta de la 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 de la URL reales están programadas para ser dirigidas a clases específicas a través de la configuración, y como tal, ya no refleja la carpeta del sistema de archivos y la estructura del archivo.
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 se abandonó efectivamente el enfoque directo al archivo que antes era habitual?
Otras respuestas
Aquí hay una respuesta similar que incluye un poco el concepto de ruta y algunos beneficios e inconvenientes: Con PHP frameworks, ¿por qué se usa el concepto" route "?
Pero no aborda los aspectos históricos del cambio, ni cómo o por qué se produjo este cambio, hasta donde los nuevos proyectos de hoy en día utilizan prácticamente este nuevo patrón de estilo de enrutamiento y el acceso directo al archivo está desactualizado o abandonado.
Además, la mayoría de los 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 es, quizás, ocultar el sistema de archivos / carpetas al usuario final, y también la falta de ?param=value¶m2=value
, lo que hace que las URL se vean un poco más limpias. ¿Pero fueron esas la única razón para el 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 normalmente ya no se activa a través de una ruta URL de acceso directo al archivo.
Zend Expressive
Zend Framework
Laravel
CakePHP