call_user_func

(PHP 3 >= 3.0.3, PHP 4, PHP 5)

call_user_func --  Felhasználói függvényt hív meg.

Leírás

mixed call_user_func ( callback function [, mixed parameter [, mixed ...]] )

A function-ban megadott nevű felhasználói függvényt hívja meg. Az ezután álló parameter paraméterek a megadott sorrendben lesznek átadva a meghívott függvénynek. Nézzük a kövekező példát:

<?php
function borbely($tipus)
{
    echo
"Szóval $tipus akar, semmi gond.";
}
call_user_func('borbely', "gomba frizurát");
call_user_func('borbely', "nyírást");
?>

Ezzel a függvénnyel az obejktum-metódusok is meghívhatók statikusan az úgy hogy a function paraméternek egy array($objektumnev, $metodusnev) tömböt adunk meg.

<?php
class myclass {
    function
koszonj_szepen()
    {
        echo
"Hello!\n";
    }
}
call_user_func('borbely', "gomba frizurát");
call_user_func('borbely', "nyírást");

$osztalynev = "myclass";

call_user_func(array($osztalynev, 'koszonj_szepen'));
?>

Megjegyzés: Figyelj arra, hogy a call_user_func() függvény paraméterei nem referencia szerint kerülnek átadásra.

<?php
function novel(&$var)
{
    
$var++;
}

$a = 0;
call_user_func('novel', $a);
echo
$a; // 0

call_user_func_array('novel', array(&$a)); // Inkább használd ezt
echo $a; // 1
?>

Lásd még a is_callable(), call_user_func_array(), call_user_method() és call_user_method_array() függvényeket valamint a visszahívható (callback) típusról szóló bejegyzést!