Memanggil Fungsi Secara Dinamik
Katakan anda ada 3 fungsi dan ingin memanggil fungsi tertentu secara dinamik yang bergantung kepada request (GET, POST dll).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <?php // nilai $action adalah list, edit atau delete $action = isset($_GET['action']) ? $_GET['action'] : ""; // fungsi yang akan di panggil $call_function = "process_" . $action; function process_list() { echo "paparkan senarai"; // listing } function process_edit() { echo "paparkan kemaskini"; // editing } function process_delete() { echo "hapuskan data"; // deleting } // panggil fungsi secara dinamik bergantung kepada nilai $action // cth: jika $action adalah edit, fungsi process_edit() akan di panggil if(function_exists($call_function)) call_user_func($call_function); ?> |
call_user_func() adalah satu lagi fungsi terbina di dalam PHP untuk memanggil fungsi yang ternyata di parameter pertama.

(3 votes, average: 4.67 out of 5)
Comments (2)
Amin007
December 2nd, 2008 at 9:50 pm
rasanya kena tambah satu lagi fungsi laa
——————————————
[code]
function process_() {
echo "belum pilih laa"; // jika lain2
}
[/code]
——————————————
sebabnya akan keluar error macam ni
Warning: call_user_func(process_) [function.call-user-func]:
First argument is expected to be a valid
callback in E:\www\belajar\fungsi
\call_user_fuct.php on line 23
SMD
December 3rd, 2008 at 12:14 am
ok. aku dah betulkan. gunakan
if(function_exists())adalah lebih sesuai. thanks.Leave a reply