เมื่อเทียบกับเมื่อประมาณ 10 ปีที่แล้วฉันสังเกตเห็นการเปลี่ยนแปลงไปสู่เฟรมเวิร์กโดยใช้รูปแบบการกำหนดเส้นทางที่แยกเส้นทาง URL จากระบบไฟล์ โดยทั่วไปสามารถทำได้ด้วยความช่วยเหลือของรูปแบบตัวควบคุมด้านหน้า
กล่าวคือเมื่อก่อนเส้นทาง URL ถูกแมปโดยตรงกับระบบไฟล์และดังนั้นจึงสะท้อนไฟล์และโฟลเดอร์ที่แน่นอนในดิสก์ปัจจุบันเส้นทาง URL ที่แท้จริงจะถูกตั้งโปรแกรมให้นำไปยังคลาสที่ระบุผ่านการกำหนดค่าและไม่สะท้อนไฟล์อีกต่อไป โฟลเดอร์ระบบและโครงสร้างไฟล์
คำถาม
เรื่องนี้เกิดขึ้นได้อย่างไรและทำไมเป็นเรื่องธรรมดา? มันเป็นอย่างไรและทำไมจึงตัดสินใจว่ามัน "ดีกว่า" ถึงจุดที่การละทิ้งแนวทางตรงไปยังไฟล์ครั้งหนึ่งเคยเป็นเรื่องธรรมดา?
คำตอบอื่น ๆ
มีคำตอบที่คล้ายกันที่นี่ซึ่งเป็นแนวคิดเกี่ยวกับเส้นทางและข้อดีและข้อเสียบางประการ: ด้วยกรอบงาน PHP ทำไมแนวคิด "เส้นทาง" จึงถูกใช้?
แต่มันไม่ได้กล่าวถึงประเด็นการเปลี่ยนแปลงทางประวัติศาสตร์หรืออย่างไรหรือทำไมการเปลี่ยนแปลงนี้เกิดขึ้นทีละน้อยซึ่งโครงการใหม่ ๆ ทุกวันนี้ค่อนข้างใช้รูปแบบการกำหนดเส้นทางใหม่และการกำหนดทิศทางโดยตรงไปยังไฟล์ล้าสมัยหรือถูกทอดทิ้ง
นอกจากนี้ผลประโยชน์และข้อเสียดังกล่าวส่วนใหญ่ดูเหมือนจะไม่สำคัญพอที่จะรับประกันการเปลี่ยนแปลงระดับโลก ประโยชน์เพียงอย่างเดียวที่ฉันเห็นได้จากการเปลี่ยนแปลงนี้คือการซ่อนระบบไฟล์ / โฟลเดอร์จากผู้ใช้ปลายทางและขาด?param=value¶m2=value
ซึ่งทำให้ URL ดูสะอาดตา แต่นั่นเป็นเหตุผลเดียวที่ทำให้เกิดการเปลี่ยนแปลง? และถ้าใช่ทำไมเหตุผลเหล่านั้นถึงซ่อนอยู่?
ตัวอย่าง:
ฉันคุ้นเคยกับกรอบ PHP มากที่สุดและเฟรมเวิร์คสมัยใหม่ที่นิยมใช้วิธีกำหนดเส้นทางแบบแยกอิสระ เพื่อให้มันใช้งานได้คุณตั้งค่าการเขียน URL ใหม่ใน Apache หรือเว็บเซิร์ฟเวอร์ที่คล้ายกันซึ่งโดยทั่วไปแล้วการทำงานของแอปพลิเคชันเว็บจะไม่ถูกเรียกผ่านเส้นทาง 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 co.th / Zend แสดงออก / คุณสมบัติ / เราเตอร์ / zf2 /Zend Framework
https://docs.zendframework.com/zend-mvc/routing/
Laravel
https://laravel.com/docs/5.5/routing
CakePHP