Pada pembahasan kali ini saya akan membahas sebuah materi sederhana tentang PHP. Yang mana saya akan membahas tentang bagaimana Cara Membuat Routing Url Sederhana Di Pemrograman PHP. Disini saya akan memberikan contoh routing dengan menggunakan PHP. Untuk kamu yang sudah terbiasa menggunakan Framework mungkin sudah tidak asing lagi dengan yang namanya Routing, tapi untuk yang belum familiar bisa dicari tahu saja sendiri di internet.
Untuk contoh URL yang akan kita buat bentuknya cukup sederhana kurang lebih seperti ini :
- localhost/PROJECT_DIR/ (untuk halaman home)
- localhost/PROJECT_DIR/about (untuk halaman about)
- localhost/PROJECT_DIR/contact (untuk halaman contact)
Langkah pertama buat dahulu folder project baru di dalam folder htdocs.
Langkah kedua buat file .htaccess di dalam folder project yang tadi dibuat dengan sintak seperti ini
RewriteEngine on
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-l
RewriteRule ^(.*)$ index.php/$1
Langkah ketiga buat file baru lagi dengan nama index.php
<?php
// Define your location project directory in htdocs (EX THE FULL PATH: D:\xampp\htdocs\x-kang\simple-routing-with-php)
$project_location = "/x-kang/simple-routing-with-php";
$me = $project_location;
// For get URL PATH
$request = $_SERVER['REQUEST_URI'];
switch ($request) {
case $me.'/' :
require "views/home.php";
break;
case $me.'/about' :
require "views/about.php";
break;
case $me.'/contact' :
require "views/contact.php";
break;
default:
http_response_code(404);
echo "404";
break;
}
Pada variable $project_location kamu bisa ganti path-nya sesuai dengan nama folder project yang sebelumnya kamu buat.
Langkah ke empat buat folder baru dengan nama views, lalu di dalamnya buat file baru dengan nama home.php, about.php dan contact.php. Untuk isinya bebas kamu bisa isi apa saja.
Jika ke empat langkah di atas sudah di praktikan maka bentuk direktorinya akan berbetuk seperti ini
Dan sekarang kamu bisa mengaksesnya di browser kamu dengan URL seperti ini :
- localhost/PROJECT_DIR/
- localhost/PROJECT_DIR/about
- localhost/PROJECT_DIR/contact
Untuk lebih jelasnya kamu dapat mengakses source lengkapnnya di akun github kang-cahya.com disini https://github.com/k4ng/simple-routing-with-php
Mungkin pembahasan ini saya cukupkan sampai disini dulu, semoga tulisan ini bisa bermanfaat untuk kamu yang sedang belajar, semoga lancar. Kamu juga dapat membuka diskusi di kolom komentar jika memang ada yang kurang paham dengan pembahasan ini, saya usahakan membalas komentar sesegera mungkin, terima kasih :)
THX gannn.. it Works
BalasHapussemoga bermanfaat :)
Hapusgimana kalo ada parameternya gan??
BalasHapusmisal mau nambah param di halaman about (bisa pake GET aja).
HapusBentuk url nya kyk gini :
localhost/PROJECT_DIR/about?param1=hari rabu¶m2=003
Cara ngambil data paramya tinggal gini aja:
$p1 = $_GET['param1'];
$p2 = $_GET['param2'];
echo $p1 . ' ' . $p2;
Gimana kalo nambah paramater tapi menggunakan / juga. Misalkan buat paging atau pencarian. contoh: htt://localhost/PROJECT_DIR/news/page/2, htt://localhost/PROJECT_DIR/news/search/key/page/2
BalasHapusKalo mau bentuk kyk gitu base nya harus di rombak. Tapi kalau basenya tetap mau pakai yang sekarang langkah mudahnya bisa pakai method GET, jadi nanti bentuk url-nya jadi kyk gini :
Hapushttp://localhost/PROJECT_DIR/news?page=2
http://localhost/PROJECT_DIR/news?search=key&page=2
kalo pake GET dengan mengirimkan parameter di url berisiko dihack soalnya. Saya lihat web2 sekarang sdh menghindari teknik spt itu
HapusTidak juga, platform CMS seperti wordpress masih menggunakan GET untuk teknik searching nya
HapusGagal mas
BalasHapusKlo pake parameter gmn?
BalasHapusparameternya pakai method GET. Kyk gini bentuknya
Hapuslocalhost/PROJECT_DIR/contact?search=nama&umur=20
Ini di url
BalasHapushttp://192.168.1.2/coba/result?kategori=UElMUFJFUyBJTkRPTkVTSUE=
Klo di index sama htaccess apa yg dubah mas
Hallo mas, kalau saya panggil /about tapi pake param kok error ya ?
BalasHapusmisal localhost/PROJECT_DIR/about?nama=satu
hasilnya 404. apa perlu dirubah dulu di switch casenya ?
Posting Komentar