Dalam pemrograman PHP, dimungkinkan ada ratusan file php yang harus dijalankan dari satu file. contoh: index.php.
File index.php merupakan file default yang dipanggil pada saat client membuka sebuah situs yang menggunakan PHP sebagai mesinnya.
Dari index.php ini akan dipanggil (include atau require) beberapa file php lainnya. Dan biasanya pemanggilan itu dilakukan dengan menggunakan fungsi require_once().
Pada tulisan ini saya akan memperbaiki fungsi require_once() agar lebih mudah diakses dan menggantikannya dengan klausa yang lebih mudah lagi, yaitu import.
Cara :
- Buat sebuah folder library di root web. Nama folder itu tergantung anda, diasumsikan pada saat ini, nama folder tersebut adalah /lib.
- Buat sebuah file php /lib/import.php, lalu isikan dengan :
defined('__EXEC_MODE__' or die(NO_PAGE));
function __get_base_path()
{
return str_replace('index.php','',$_SERVER['SCRIPT_FILENAME']);
}
function __get_separator()
{
return substr(__get_base_path(),-1,1);
}
function __get_def_name($import_path)
{
return '__' . strtoupper(str_replace(".", "_", $import_path)) . '__';
}
function import($import_path) {
$base_path = __get_base_path();
$separator = __get_separator();
$file_name = '';
$defn_name = __get_def_name($import_path);
if ( !is_null($import_path) && $import_path != "" &&
preg_match('/^[\w\.]+[\w]$/', $import_path))
{
$array_file = explode(".", $import_path, 3);
if (count($array_file) > 1 && !defined($defn_name))
{
$file_name = $base_path . implode($separator,
$array_file) . '.php';
if (file_exists($file_name))
{
require_once($file_name);
defined($defn_name) or die(NO_PAGE);
}
else
{
die(NO_PAGE);
}
}
}
}
simpan file tersebut
- Contoh penggunaan,
buat 2 file, pertama index.php yang diletakkan di root dan test_class.php yang diletakkan di {root}/lib.
- Pada file index.php, isikan :
header("Expires: Mon, 01 Jul 1997 01:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: private, no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache"); // HTTP/1.0
ob_start();
define('__EXEC_MODE__',1);
require_once(str_replace('index.php','',$_SERVER['SCRIPT_FILENAME']) . 'lib/import.php');
import('lib.test_class');
$test_class = new test_class();
$test_class->cetak_pesan('hallo');
ob_flush();
ob_clean();
exit(0);
- Nah, pada test_class, isikan :
defined('__EXEC_MODE__') or die('Restricted Access!!');
define('__LIB_TEST_CLASS__',1);
class test_class {
public function cetak_pesan($str_pesan) {
echo($str_pesan);
}
}
- Setelah semua selesai, coba buka situs anda.
Perhatiakan baris yang diberi tanda tebal. Pada baris itu adalah perintah untuk menggantikan fungsi require_once()/include_once(). Kelebihan klausa ini terletak pada pemeriksaan file yang akan di include pada saat index.php dijalankan.
Tidak ada komentar:
Posting Komentar
Jika ada kritik dan saran, komentari Artikel ini.