約10年前と比較して、URLパスをファイルシステムから切り離すルーティングのスタイルを使用するフレームワークへの移行に注目しています。これは通常、フロントコントローラーパターンの助けを借りて達成されます。
つまり、以前は、URLパスはファイルシステムに直接マップされていたため、ディスク上の正確なファイルとフォルダーを反映していましたが、最近では、実際のURLパスは構成によって特定のクラスに向けられるようにプログラムされているため、ファイルを反映しなくなりましたシステムフォルダとファイル構造。
質問
どのようにして、なぜこれが当たり前になったのですか?かつて一般的なファイルへの直接アプローチが事実上放棄された時点まで「より良い」と判断した理由は何ですか。
その他の回答
ここには、ルートの概念といくつかの利点と欠点に少し似た答えがあります:PHPフレームワークでは、なぜ「ルート」概念が使用されるのですか?
しかし、これは、この新しいルーティングスタイルパターンを使用して現在の新しいプロジェクトがほとんど行われており、ファイルへの直接書き込みが古くなったり放棄されたりする、歴史的な変化の側面、またはこの変化が徐々に起こった方法や理由については扱っていません。
また、言及されたこれらの利点と欠点のほとんどは、そのような世界的な変化を正当化するほど重要ではないようです。この変更を推進している唯一のメリットは、おそらくファイル/フォルダーシステムをエンドユーザーから隠すことと?param=value¶m2=value
、URLが少しきれいに見えるようにすることの欠如です。しかし、それらが変更の唯一の理由でしたか?そして、はいの場合、なぜそのような理由があったのですか?
例:
私はPHPフレームワークに最も精通しており、多くの人気のある現代のフレームワークはこの分離されたルーティングアプローチを使用しています。それを機能させるには、Apacheまたは同様のWebサーバーでURL書き換えを設定します。通常、Webアプリケーション機能は、ファイルへの直接URLパスを介してトリガーされなくなります。
Zend Expressive
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 /Zend Framework
https://docs.zendframework.com/zend-mvc/routing/
ララヴェル
https://laravel.com/docs/5.5/routing
CakePHP