1.3 KiB
1.3 KiB
Routing CI3 vs CI4
CI3 (application/config/routes.php)
default_controller=site404_override=errors/page_missing- Pola bahasa URL:
^(\w{2})/(.*)$→ segment berikutnya - Pola REST modul
api:api/(:any)/(:num)→api/$1/id/$2(CI Bootstrap + codeigniter-restserver)
Json controller: tidak didefinisikan eksplisit; mengikuti routing default controller/method → /json/login, dll.
CI4 (app/Config/Routes.php)
| Kebutuhan | Rute |
|---|---|
| Beranda default | GET / → Home::index |
| Admin (foundation) | GET /admin → Admin\Dashboard::index |
| API mobile (utama) | POST /api/mobile/{method} → Api\MobileJsonController::{method} |
| Alias kompatibilitas CI3 | POST /json/{method} → handler yang sama |
Strategi cutover
- Deploy CI4 di hostname/subpath terpisah; uji parity respons per endpoint.
- Alihkan aplikasi mobile ke base URL CI4; gunakan
/json/*agar path relatif sama dengan CI3 (tanpa mengubah path di kode klien jika sebelumnya/index.php/json/...). - Setelah stabil, opsional: standarkan ke
/api/mobile/*dan hentikan CI3 untuk endpoint tersebut.
Catatan index.php
CI3 sering memakai index.php di URL; CI4 public/index.php + rewrite. Samakan konfigurasi web server (Apache/Nginx) agar baseURL di .env sesuai.