Memanggil Fungsi Secara Dinamik

Written by Sumardi Shukor


1 Star2 Stars3 Stars4 Stars5 Stars (3 votes, average: 4.67 out of 5)
Loading ... Loading ...


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.




Posted on: December 1, 2008

Filed under: Tips

Related Posts:

  • No Related Post

Comments (2)

Amin007

December 2nd, 2008 at 9:50 pm    

avatar

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    

avatar

ok. aku dah betulkan. gunakan if(function_exists()) adalah lebih sesuai. thanks.

Leave a reply

Name *

Mail *

Website