Yaklaşık 10 yıl öncesine kıyasla, URL yolunu dosya sisteminden ayıran yönlendirme stilini kullanarak çerçevelere doğru bir kayma olduğunu gördüm. Bu, genellikle bir ön denetleyici deseni yardımıyla gerçekleştirilir.
Yani, daha önce ne zaman, URL yolu doğrudan dosya sistemine eşleştirildi ve bu nedenle diskte tam dosya ve klasörleri yansıtıyordu; günümüzde, gerçek URL yolları yapılandırma yoluyla belirli sınıflara yönlendirilmek üzere programlanmış ve artık dosyayı yansıtmayacak şekilde programlanmıştır. sistem klasörü ve dosya yapısı.
Soru
Bu nasıl ve neden olağan hale geldi? Bir zamanlar sıradan dosyaya doğrudan yaklaşımın etkili bir şekilde bırakıldığı noktaya nasıl ve neden "daha iyi" olduğuna karar verildi?
Diğer cevaplar
Burada, rota kavramına ve bazı yararlara ve dezavantajlara biraz giren benzer bir cevap var: PHP çerçevelerinde neden "rota" kavramı kullanılıyor?
Ancak, tarihsel değişimin yönlerini veya bu değişimin neden veya neden yavaş yavaş gerçekleştiğini, bugünlerde herhangi bir yeni projenin hemen hemen bu yeni yönlendirme stili modelini kullandığı ve doğrudan dosyaya eskimiş veya terk edilmiş olduğu durumları ele almamaktadır.
Ayrıca, bahsi geçen bu fayda ve dezavantajların çoğu, böyle bir küresel değişimi garanti altına alacak kadar önemli görünmemektedir. Belki de bu değişikliği sürdüğünü görebildiğim tek yarar, dosya / klasör sistemini son kullanıcılardan gizlemek ve ?param=value¶m2=value
URL'lerin biraz daha temiz görünmesini sağlayan eksiklik . Fakat bunlar değişimin tek nedeni miydi? Ve eğer evet, neden bu sebepler arkasındaki?
Örnekler:
PHP çerçevelerine en aşinayım ve birçok popüler modern çerçevede bu ayrıştırılmış yönlendirme yaklaşımı kullanılıyor. Çalışmasını sağlamak için , Apache'de veya benzer bir web sunucusunda URL yeniden yazımı kurarsınız ; burada web uygulaması işlevselliği artık dosyaya doğrudan bir URL yolu üzerinden tetiklenmez.
Etkileyici Zend
https://docs.zendframework.com/zend-expressive/features/router/aura/
https://docs.zendframework.com/zend-expressive/features/router/fast-route/
https: //docs.zendframework. com / zend-dışavurumcu / özellikler / yönlendirici / ZF2 /Zend Framework
https://docs.zendframework.com/zend-mvc/routing/
laravel
https://laravel.com/docs/5.5/routing
CakePHP'nin