Dibandingkan dengan sekitar 10 tahun yang lalu saya telah mencatat pergeseran menuju kerangka kerja menggunakan gaya perutean yang memisahkan jalur URL dari sistem file. Ini biasanya dilakukan dengan bantuan pola pengontrol-depan.
Yaitu, ketika sebelumnya, jalur URL dipetakan langsung ke sistem file dan karena itu mencerminkan file dan folder pada disk, saat ini, jalur URL aktual diprogram untuk diarahkan ke kelas-kelas tertentu melalui konfigurasi, dan dengan demikian, tidak lagi mencerminkan file folder sistem dan struktur file.
Pertanyaan
Bagaimana dan mengapa ini menjadi hal biasa? Bagaimana dan mengapa diputuskan bahwa itu "lebih baik" ke titik di mana pendekatan direct-to-file yang dulu biasa secara efektif ditinggalkan?
Jawaban Lain
Ada jawaban serupa di sini yang sedikit masuk ke konsep rute dan beberapa manfaat dan kelemahannya: Dengan kerangka kerja PHP, mengapa konsep "rute" digunakan?
Tapi itu tidak membahas aspek perubahan historis, atau bagaimana atau mengapa perubahan ini terjadi secara bertahap, ke tempat proyek baru saat ini cukup banyak menggunakan pola gaya perutean baru ini dan direct-to-file sudah usang atau ditinggalkan.
Selain itu, sebagian besar manfaat dan kelemahan yang disebutkan, tampaknya tidak cukup signifikan untuk menjamin perubahan global semacam itu. Satu-satunya manfaat yang saya dapat melihat mendorong perubahan ini mungkin menyembunyikan sistem file / folder dari pengguna akhir, dan juga kekurangan ?param=value¶m2=value
, yang membuat URL terlihat sedikit lebih bersih. Tetapi apakah itu satu-satunya alasan perubahan itu? Dan jika ya, mengapa mereka alasan di balik itu?
Contoh:
Saya paling akrab dengan kerangka kerja PHP dan banyak kerangka kerja modern populer menggunakan pendekatan routing yang dipisahkan ini. Untuk membuatnya berfungsi, Anda mengatur penulisan ulang URL di Apache atau server web serupa, ke tempat fungsionalitas aplikasi web biasanya tidak lagi dipicu melalui jalur URL langsung ke file.
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-ekspresif / fitur / router / zf2 /Zend Framework
https://docs.zendframework.com/zend-mvc/routing/
Laravel
https://laravel.com/docs/5.5/routing
CakePHP