Cara Sederhana Membedakan Script PHP untuk Development/Deployment

Saat sedang kodang-koding di kantor, tiba-tiba saya menemukan penggunaan require_once pada php yang agak menarik. Seperti yang kita tahu, require_once memasukkan sebuah script hanya pertama kali dipanggil. Jika script yang sama dimasukkan 2 kali, pemasukan kedua tidak dilakukan.

Masalah yang sedang saya kerjakan seperti ini: saya membuat script php yang menerima input parameter dan melakukan validasi sederhana dengan hashing parameter. Yang merepotkan, untuk melakukan testing pada script tersebut saya harus menghitung hash dari parameter yang saya input -___-, padahal saya ingin melakukan testing cepat dengan memasukkan parameter lewat browser. Salah satu solusinya, saya dapat menonaktifkan dahulu fitur hashing untuk melakukan pengujian lewat browser, tapi untuk menguji aplikasi sebenarnya saya harus mengaktifkan hashing lagi, jadinya bolak-balik deh.

Ada cara lain yang ternyata lebih mudah, yaitu membuat script terpisah untuk testing pada browser dan meng-require_once script asli. Pada script asli saya menambahkan konfigurasi aktif/tidaknya hashing dengan variable $use_hash. Variable $use_hash ini saya definisikan pada script terpisah “config.php” yang di-require_once oleh script asli. Untuk lebih gampangnya, isi script kurang lebih sebagai berikut.


//script config.php
$use_hash = true;

//script asli.php
require_once("config.php");
if ($use_hash) {
//hitung hash
} else {

}

//script testing.php
require_once("config.php");
$use_hash = false;
require_once("asli.php");

Mekanisme pada script testing.php: karena require_once hanya meng-include sekali, script config.php hanya dibaca pertama kali. require_once(“config.php”) yang terdapat di script asli.php tidak akan terpanggil, sehingga nilai akhir variable $use_hash adalah false. Dengan cara ini saya dapat melakukan testing pada browser cukup dengan membuka testing.php (muhaha). Mungkin trik ini juga bisa dipakai untuk keperluan lain, seperti membedakan script yang akan digunakan untuk tahapan development/deployment.

Advertisements
This entry was posted in Programming and tagged , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s