- Seme Framework
- versi 4.0.3 (ID)
- Persyaratan
- Download & Install
- Pengaturan
- Tutorial
- Perutean URI
- Konstanta
- Variabel Global
- Model
- View
- Controller
- Library
- CLI (command line interface)
- Core
Pengaturan Rute
Biasanya ada hubungan satu-ke-satu antara string URL dan kelas/metode pada Controller yang sesuai. Segmen dalam URI biasanya mengikuti pola ini:
example.com/class/method/id/
Namun, dalam beberapa kasus, Anda mungkin ingin memetakan kembali hubungan ini sehingga kelas/fungsi yang berbeda dapat dipanggil alih-alih yang terkait dengan URL.
Misalnya, katakanlah Anda ingin URL Anda memiliki prototipe ini:
- example.com/product/1/
- example.com/product/2/
- example.com/product/3/
- example.com/product/4/
Biasanya segmen kedua dari URL dicadangkan untuk nama fungsi, tetapi dalam contoh di atas, ia diisi dengan ID produk. Untuk mengatasinya, Seme Framework memungkinkan Anda untuk memetakan ulang URL tersebut terhadap metode atau kelas Controller yang diinginkan.
Menyetel Perutean URI khusus
Aturan perutean ditentukan di app/config/
Anda. Anda dapat mengatur perutean ini diterapkan ke dalam produksi, staging, atau pengembangan tergantung pada kebutuhan Anda.
Pada setiap file konfigurasi, Seme Framework telah membuat bagian komentar untuk menulis ulang URI di bagian perutean.
Pada setiap file yang dikonfigurasi, Seme Framework telah membuat bagian komentar untuk menulis ulang URI di bagian perutean.
Wildcards
Rute wildcard tipikal mungkin terlihat seperti ini:
$routes['product/:num'] = "katalog/detail";
Dalam sebuah rute, kunci array
berisi URI yang akan dicocokkan.
Sedangkan pada nilai array
berisi tujuan yang harus dirutekan ulang.
Dalam contoh di atas, jika kata literal "produk" ditemukan di segmen pertama URL dan nomor ditemukan di segmen kedua.
Maka kelas "katalog" dan metode "detail" akan digunakan.
Anda dapat mencocokkan nilai literal atau Anda dapat menggunakan dua jenis wildcard:
(:num)
akan cocok dengan segmen yang hanya berisi angka.(:any)
akan cocok dengan segmen yang berisi karakter apa pun.
Contoh
Berikut adalah beberapa URI - Konfigurasi pemetaan ulang rute pengontrol.
$routes['produk'] = "products";
URL yang berisi kata "produk" di segmen pertama akan dipetakan ulang ke kelas "products".
$routes['produk/ojan'] = "products/detail/15";
URL yang berisi segmen produk/ojan akan dipetakan kembali ke kelas "produk" dan metode "detail". ID akan disetel ke "15".
$routes['product/(:any)'] = "katalog/pencarian_produk";
URL dengan "produk" sebagai segmen pertama, dan apa pun di segmen kedua akan dipetakan ulang ke kelas "katalog" dan metode "pencarian_produk".
$routes['produk/(:num)'] = "katalog/detail/$1";
URL dengan "produk" sebagai segmen pertama, dan nomor di segmen kedua akan dipetakan ulang ke kelas "katalog" dan metode "detail" meneruskan kecocokan sebagai variabel ke fungsi.
Rute Cadangan
Ada dua rute yang cadangan yang sudah dipakai:
$routes['home'] = 'home';
Rute ini menunjukkan kelas controller mana yang harus dimuat jika URI tidak berisi data, yang akan terjadi ketika orang memuat URL root
Anda.
Dalam contoh di atas, kelas "selamat datang" akan dimuat.
Anda dianjurkan untuk selalu memiliki rute default jika tidak, halaman 404 akan muncul secara default.
$routes['notfound'] = 'notfound';
Rute ini menunjukkan kelas pengontrol mana yang harus dimuat jika pengontrol yang diminta tidak ditemukan.
Secara default akan dijalankan app/controller/notfound.php
.
Anda dapat mengubahnya jika perlu.
Rute cadangan lainnya adalah rute rahasia admin
, pelajari selengkapnya tentang rute untuk admin.