PHP adalah bahasa pemrograman yang populer digunakan untuk mengembangkan berbagai jenis aplikasi web. PHP telah digunakan sejak lama untuk membuat situs web dan aplikasi web yang dinamis dan interaktif.
Routing
Routing adalah istilah umum dalam pengembangan web. Tujuannya adalah untuk memberi tahu aplikasi cara menangani request dari URL. Ini menentukan fungsi mana yang perlu diproses sesuai request. Hari ini kita akan melihat bagaimana membuat routing sederhana di PHP.
Routing adalah alternatif untuk mekanisme default PHP untuk menangani request. Ini menawarkan cara yang sangat sederhana untuk mendefinisikan alur dan memetakannya ke fungsi tertentu.
Langkah-Langkah
Buat sebuah project/folder di dalam htdocs (untuk XAMPP) atau www (untuk Laragon)
Buat file .htaccess yang berisi script berikut
RewriteEngine on RewriteCond %{SCRIPT_FILENAME} !-f RewriteCond %{SCRIPT_FILENAME} !-d RewriteCond %{SCRIPT_FILENAME} !-l RewriteRule ^(.*)$ index.php/$1
Buat file index.php yang berisi script berikut
<?php $project_location = "/routing"; $me = $project_location; $request = $_SERVER['REQUEST_URI']; switch ($request) { case $me.'/' : require "views/home.php"; break;
case $me.'/home' : require "views/home.php"; break;case $me.'/about' : require "views/about.php"; break; default: http_response_code(404); require "views/404.php"; break; } ?>
Variabel $project_location bisa diganti sesuai nama folder project kalian, dalam contoh ini saya menggunakan nama folder "routing".
Selanjutnya buat folder views. Di dalam folder inilah semua view akan disimpan. Dalam contoh ini saya membuat 3 file untuk view, yaitu:
- home.php untuk halaman utama tanpa request atau dengan request home
- about.php untuk request about
- 404.php untuk request yang tidak ditemukan / tidak tersedia
- Silahkan disesuaikan dengan kebutuhan teman-teman
<!-- home.php --> <h1>Ini Halaman Utama</h1> <!-- about.php --> <h1>Ini Halaman About</h1>
Nah sekarang kalian bisa mengakses project kalian dengan format:
- localhost/PROJECT_LOCATION/
- localhost/PROJECT_LOCATION/about
Berikut struktur folder saya:
0 Komentar