PHP Framework: Menerapkan Routing

Method Run dan Get
Di dalam class Application, kita buat method run.

Lalu, di dalam class Route, kita buat method get dengan parameter $path dan fungsi $callback. Kapanpun kita memanggil $path, maka fungsi $callback akan dieksekusi.

Menambahkan Router
Di dalam index.php kita bisa menambahkan router, misal contact, dengan cara sebagai berikut. Sekarang kapanpun $path yang ada pada URL dipanggil makan akan secara spesifik mengeksekusi fungsi $callback.

Menampung Route
Pada class Router, kita buat variabel $routes yang bertipe array dengan visibilitas protected yang secara default bernilai array kosong.

Dalam method get, untuk menampung routes, menggunakan array bersarang berupa asosiatif array. Nantinya kita juga akan menerapkan hal yang sama pada method post.

Memanggil Route
Pada method run, kita akan memanggil method resolve pada class $route.

Selanjutnya kita buat method resolve di dalam class Router. Pada method ini kita akan menentukan path saat ini dan path URL yang sedang dipanggil. Pada dasarnya method yang saat ini sedang dipanggil. Berdasarkan hal ini, dari array $routes, kita perlu mengambil callback yang sesuai, lalu mengeksekusinya, sehingga mengeluarkan hasil kepada user.

Kita mempunyai variabel super global $_SERVER, yang berisi segala sesuatu yang akan kita butuhkan.


 * core/Application.php


 * core/Router.php


 * core/Request.php