Dynamic Invocation PHP: is_callable, call_user_func, call_user_func_array

melakukan pemanggilan dan pe-lambda-an / dynamic invocation kedalam fungsi kelas

contoh penggunaan lambda dari fungsi:


$lambda = rand(0,1) ? function() { echo "Heads!"; } :
function() { echo "Tails!"; };
$lambda(); // <= Dynamic Invocation!

sementara untuk is_callable adalah sebuah methode untuk menentukan apakah sebuah fungsi dapat dipanggil/dideklarasikan atau tidak


function heads() { echo "Heads function!"; }
$function = 'heads';
is_callable($function); // true

$lambda = function() { echo "Tails function!"; }
is_callable($lambda); // true

$asalAja = "loramIpsumSitAmet";
is_callable($asalAja); // false

sementara untuk fungsi didalam kelas kita tidak dapaat menggunakan is_callable


class Objects {
function methods($who, $what) {
echo "$who are Great $what!";
}
}

$callableArray = array(new Objects, 'methods');

if(is_callable($callableArray)) {
call_user_func($callableArray, "You", "Success");
call_user_func_array($callableArray, array("You", "Success"));
}

perintah call_user_func dan call_user_func_array berhasil dijalankan

Published by

G3n1k

just to remember what i had known :)

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