Im Vergleich zu vor ungefähr 10 Jahren habe ich eine Verschiebung hin zu Frameworks festgestellt, die den Routing-Stil verwenden und den URL-Pfad vom Dateisystem entkoppeln. Dies wird normalerweise mithilfe eines Front-Controller-Musters durchgeführt.
Früher wurde der URL-Pfad direkt dem Dateisystem zugeordnet und spiegelte daher die exakten Dateien und Ordner auf der Festplatte wider. Heutzutage sind die tatsächlichen URL-Pfade so programmiert, dass sie über die Konfiguration an bestimmte Klassen weitergeleitet werden und als solche die Datei nicht mehr widerspiegeln Systemordner und Dateistruktur.
Frage
Wie und warum wurde das alltäglich? Wie und warum wurde entschieden, dass es "besser" ist bis zu dem Punkt, an dem der früher übliche Direct-to-File-Ansatz effektiv aufgegeben wurde?
Andere Antwort
Es gibt hier eine ähnliche Antwort, die sich ein wenig mit dem Konzept der Route und einigen Vor- und Nachteilen befasst: Warum wird bei PHP-Frameworks das "Route" -Konzept verwendet?
Es geht jedoch nicht auf historische Änderungsaspekte ein, oder darauf, wie oder warum diese Änderung allmählich stattfand, bei denen heutzutage neue Projekte so gut wie dieses neue Routingstilmuster verwenden und Direct-to-File veraltet ist oder aufgegeben wird.
Außerdem scheinen die meisten der genannten Vor- und Nachteile nicht bedeutend genug zu sein, um eine solche globale Änderung zu rechtfertigen. Der einzige Vorteil, den ich sehen kann, ist, dass ich das Datei- / Ordnersystem vor dem Endbenutzer verstecke und auch, dass es keinen gibt ?param=value¶m2=value
, wodurch URLs ein bisschen sauberer aussehen. Aber waren das die einzigen Gründe für die Veränderung? Und wenn ja, warum steckten diese Gründe dahinter?
Beispiele:
Ich bin am besten mit PHP-Frameworks vertraut, und viele beliebte moderne Frameworks verwenden diesen entkoppelten Routing-Ansatz. Damit dies funktioniert, richten Sie die URL-Umschreibung in Apache oder einem ähnlichen Webserver ein, auf dem die Webanwendungsfunktionalität normalerweise nicht mehr über einen URL-Pfad direkt zur Datei ausgelöst wird.
Zend Expressive
https://docs.zendframework.com/zend-expressive/features/router/aura/
https://docs.zendframework.com/zend-expressive/features/router/fast-route/
https: //docs.zendframework. de / zend-expressive / features / router / zf2 /Zend Framework
https://docs.zendframework.com/zend-mvc/routing/
Laravel
https://laravel.com/docs/5.5/routing
CakePHP