1. Memahami Proses Pembuatan Aplikasi Web PHP
dengan Konsep Modular Hierarchically
Selintas PHP
PHP merupakan bahasa pemrograman sisi server yang bertugas mengolah apa saja di sisi server
untuk kemudian ditampilkan pada mode HTML di sisi client. PHP sebenarnya adalah program aplikasi
sendiri yang bisa dieksekusi secara mandiri, untuk mengerjakan script berekstensi php. Contoh dengan
perintah :
php /var/www/index.php
Hasil keluarannya hanya dapat dibaca pada command prompt. PHP pun dapat dimanfaatkan
oleh program lain seperti Apache WebServer ataupun Microsoft IIS, agar keluarannya dapat
ditampilkan pada sisi web dalam mode HTML. Tentu PHP membutuhkan library yang dapat
menghubungkan antara PHP dengan Webserver tersebut. Jika anda menggunakan xampp, wamp pada
windows, sudah barang tentu kedua hal tersebut berhubungan. Biasanya Linux pun demikian, hanya
dengan mengaktifkan librarynya, PHP dan apache berhubungan.
Beberapa Coding Style
Ada beberapa coding style yang sering digunakan dalam pemrograman PHP. Antara lain :
- Pemrograman berbasis framework
- Pemrograman Scratch
– Single Feature Single Script
– Satu Index, Hierarchical Modules
2. Untuk jenis satu fitur satu script, biasanya tiap fitur akan dibuat script satu persatu. Misalnya :
/
/index.php
/berita.php
/gallery.php
/artikel.php
/images/
Model seperti demikian biasanya pada satu script akan melakukan include koneksi database, dan
memanggil fungsi-fungsi statis yang ada. Misalnya:
<?php
//ini berita.php
include “koneksi.php”;
include “function.php”;
header();
sidebar();
echo “<div id='isi'>”;
isiberita();
echo “</div>”;
footer();
?>
Semua akan berisi urutan seperti berikut diatas. Baik index, gallery, dan seluruh fitur. Sehingga mode
pemanggilan di sisi browser akan seperti berikut:
http://namasitus/index.php
http://namasitus/berita.php
http://namasitus/gallery.php
3. Sedangkan jika menggunakan hierarchical dengan satu index, maka pada dasarnya pada index.php akan
berlaku urutan sedemikian :
<?php
include “config.php”;
if(!isset($_GET['module'])){
$module = “home”;
}else{
module = $_GET['module'];
}
?>
<html>
<div id=”header”>
</div>
<div id=”sidebar”>
</div>
<div id=”content”>
<?php
switch( $module ){
case “home” : echo “isi home”; break;
case “artikel” : echo “isi artikel”; break;
//dst
}
?>
</div>
<div id=”footer”>
</div>
</html>
4. Artinya bahwa seluruh proses dalam web tersebut akan melewati halaman index terlebih
dahulu, setelah jelas apa module yang akan diload, barulah dipetakan prosesnya pada switch case.
Secara pemanggilan url akan menjadi seperti demikian :
http://namasitus/index.php?module=home
http://namasitus/index.php?module=gallery
dst
Namun memang pengembangan tidak hanya sampai disitu. Pengembangannya konsep modular
ini akan mengarah pada kemudahan tracing dan pemanggilan fitur beserta aksinya. Misal seperti
berikut:
http://namasitus/index.php?module=berita&aksi=baca&no_berita=30
Perkiraan hierarchi nya akan menjadi seperti demikian
/index.php
/modules/
home/
index.php
baca.php
daftar.php
berita/
index.php
daftar_berita.php
baca.php
arsip.php
gallery/
index.php
daftar_gambar.php
5. baca.php
arsip.php
Sedangkan halaman adminnya
/index.php
/modules/
berita/
index.php
daftar_berita.php
baca.php
tambah.php
edit.php
hapus.php
gallery/
index.php
daftar_gambar.php
baca.php
arsip.php
tambah.php
edit.php
hapus.php
dan seterusnya.
Perhatikan bahwa secara hirarki, segala fitur dan aksi telah terpetakan satu-persatu, sehingga
bagi programmer akan lebih mudah melakukan pengelolaan script. Kemudian secara coding akan
seperti berikut:
<?php
include “config.php”;
if(!isset($_GET['module'])){
7. include $mod_inc;
}else{
echo “maaf fitur belum tersedia”;
}
Artinya bahwa pada bagian itu index.php akan melihat nama module, dan jika ada, akan
dicarikan ke dalam direktori module, dan subdirektori nama module yang dimaksud. Jika ada, akan
diload, jika tidak akan dikirimkan konfirmasi bahwa fitur belum tersedia.
Kemudian biasanya pada index.php pada fitur yang dimaksud, akan berisi seperti demikian:
<?php
if( isset( $_GET['act'] ) ){
$act = “default”;
}else{
$act = $_GET['act'];
}
$act_inc = “module/” . $module . “/” . $act . “.php”;
if( file_exists( $act_inc ) ){
include $act_inc;
}else{
echo “aksi gagal”:
}
?>
Sedangkan pada tiap-tiap file di dalam module yang aktif, akan berisi aksi yang akan dikenakan pada
fitur tersebut. Misal edit berita, maka akan melibatkan file
8. index.php
/module/
/berita/
index.php //meload edit.php
edit.php //aktif
Apa kelebihan sistem modular hierarchical ini? Kelebihannya adalah seluruh konfigurasi akan
diload dalam index pertama. Sehingga jika diperlukan adanya debug error, perubahan konfigurasi PHP,
penambahan file terinclude, dapat dilakukan dari halaman paling depan, tanpa mengubah file lainnya.
Disamping itu seluruh proses akan terkendali oleh index pertama. Sehingga jika terjadi site
undermaintenance juga dapat langsung di-deaktifasi dari index.php.
Sekian tulisan singkat ini, semoga dapat berguna. Script ini hanya berupa garis besar untuk
mempermudah pemahaman, sehingga belum mencakup filter string, query dan lain sebagainya, yang
tentu akan saya tuliskan dalam tulisan yang lain.
Sekian
Wahyu Bimo Sukarno
http://bimosaurus.com
bimosaurus@gmail.com