Hello pernah enggak sih kalian berfikir kalau routing di php itu kurang enak, contohnya
seperti https://example.com/about.php, nah di routenya itu ada nama dari file kita, karna memang itu yang dilakukan PHP kalau kita enggak buat routing sendiri, biasanya perihal routing ini sudah ditangani oleh framework2 terkenal seperti laravel, codeigniter, dll nah tapi gimana kalau kalian mau membuat routing tapi menggunakan PHP native, nah langsung aja kita praktekin nih gimana sih routing sederhana di PHP.
1. pertama kalian buat file index.php di root folder kalian, dan isi dengan buka dan tutup tag php, dan berikutnya buat variable berupa array kosong, nah di variable ini nanti kita gunakan untuk menyimpan semua route yang ada di website PHP kita.
<?php
$routes = [];
2. kemudian kalian buat function dengan nama route yang memerlukan parameter $path berupa string dan $callback berupa function, didalem functionnya kita buat $routes yang kita pakek di function route menjadi global menggunakan keyword global, kemudian berikutnya kita isi $routes dengan key nya $path dan valuenya berupa $callback.
function route(string $path, callable $callback)
{
global $routes;
$routes[$path] = $callback;
}
3. kemudian setelah function route selesai, selanjutnya kita buat function run, function run kita gunakan untuk menjalankan semua route yang sudah kita buat, function run pertama kita buat lagi $routes menjadi global dulu, kemudian kita buat lagi variable $uri dengan $_SERVER['REQUEST_URI'], $_SERVER['REQUEST_URI'] berisi current url yang sedang kita akses di browser, nah selanjut nya kita loop variable $routes menggunakan foreach dan kita lakukan pengecekan if, jika isi $path tidak sama dengan current url maka loop nya kita skip menggunakan keyword continue, dan bila sama bisa kita eksekusi $callback, kenapa $callback bisa kita eksekusi karna $callback bertipe function.
function run()
{
global $routes;
$uri = $_SERVER['REQUEST_URI'];
foreach ($routes as $path => $callback) {
if ($path != $uri) continue;
$callback();
}
}
4. nah yang terakhir, kita jalankan deh function2 yang udah kita buat tadi, di eksekusi function route pertama ini aku isi path nya dengan "/" dan callback functionnya untuk mencetak "Hello World", kemudian function route yang kedua aku isi path nya "/about" dan calback functionya dengan memangil file lain dengan menggunakan keyword require dan memanggil file about.php, nah yang terakhir kita jalankan function run() untuk mengeksekusi semua route yang udah kita inisiasikan.
route('/', function () {
echo "Hello World";
});
route('/about', function () {
require 'pages/about.php';
});
run();
5. ok selesai temen2, gimana mudah kan routing sederhana di PHP,
buat full code nya bisa kalian lihat Disini
Sekarang teman2 bisa coba jalankan scriptnya, dan teman2 sudah bisa mengimplementasikan routing pake PHP nih.
Jika teman2 suka dengan tutorial ini jangan lupa untuk subscribe blog kami, dan kalau ada pertanyaan atau request, tinggalkan komentar.
Terima Kasih.
Tags
Tutorial PHP