Alasan saya menanyakan hal ini adalah karena bukankah skrip PHP rute? Misalnya, jika Anda memiliki article.php maka rute Anda cukup http://mysite.com/article.php .
Mengapa lebih jauh mengaburkan konsep rute ketika sudah ada sebagai file sederhana?
Alasan saya menanyakan hal ini adalah karena bukankah skrip PHP rute? Misalnya, jika Anda memiliki article.php maka rute Anda cukup http://mysite.com/article.php .
Mengapa lebih jauh mengaburkan konsep rute ketika sudah ada sebagai file sederhana?
Jawaban:
Untuk memahami apa yang dilakukan router, Anda harus terlebih dahulu memahami apa itu mesin penulisan ulang. Dari artikel Wikipedia (penekanan pada saya):
Mesin penulisan ulang adalah perangkat lunak yang mengubah tampilan URL web (penulisan ulang URL). URL yang ditulis ulang (kadang-kadang dikenal sebagai URL pendek, mewah, atau ramah mesin pencari - SEF) digunakan untuk menyediakan tautan yang lebih pendek dan lebih relevan ke halaman web. Teknik ini menambahkan tingkat pemisahan antara file yang digunakan untuk menghasilkan halaman web dan URL yang disajikan kepada Dunia .
Saat mesin penulisan ulang digunakan, Anda tidak memiliki korelasi 1: 1 antara URL dan skrip PHP. Contoh dari artikel yang sama:
http://example.com/wiki/index.php?title=Page_title
dapat ditulis ulang sebagai:
Ada berbagai manfaat menggunakan teknik ini. Karena PHP biasanya dipasangkan dengan Apache, mesin penulisan ulang yang paling umum digunakan adalah mod_rewrite dari Apache .
Jika Anda ingin URL yang ditulis ulang, Anda memerlukan semacam perutean, karena perutean adalah proses mengambil URL, memecahnya menjadi komponen-komponen dan memutuskan apa yang sebenarnya akan dipanggil oleh skrip. The halaman dokumentasi untuk router standar dari Zend Framework menjelaskan proses sebagai:
Routing adalah proses mengambil titik akhir URI (bagian URI yang muncul setelah URL dasar) dan menguraikannya menjadi parameter untuk menentukan modul, pengontrol, dan tindakan pengontrol mana yang harus menerima permintaan.
Sebagian besar kerangka kerja PHP saat ini didasarkan pada pola MVC , dan pada kerangka kerja MVC prosesnya berlangsung seperti ini * :
index.php
skrip,index.php
mendapatkan URL dan memulai proses perutean.Parameter pencocokan untuk pengontrol dan metode biasanya menggunakan pencocokan melalui ekspresi reguler untuk dapat menangani pola rute yang kompleks dan dinamis, yang dikenal sebagai rute. Contoh rute yang bagus dapat ditemukan di halaman dokumentasi URI Routing CodeIgniter :
$ route ['jurnal'] = "blog";
$ route ['blog / joe'] = "blog / pengguna / 34";
$ route ['product / (: any)'] = "catalog / product_lookup";
$ route ['product / (: num)'] = "catalog / product_lookup_by_id / $ 1";
The $route
Array memegang pola sebagai kunci dan tindakan yang dihasilkan sebagai nilai-nilai dalam controller/action_method/dynamic_parameter
format yang.
* Ini tidak dimaksudkan sebagai deskripsi proses kanonik, hanya penjelasan yang terlalu disederhanakan.