Forum und email

Függvényváltozók

A PHP lehetővé teszi a függvényváltozók használatát. Ha egy változónevet kerek zárójelek követnek, akkor a PHP megkeresi a változó értékével azonos nevű függvényt, és megpróbálja azt végrehajtani. Ezt többek között visszahívandó (callback) függvények vagy függvénytáblák implementálására használható.

A függvényváltozók nem fognak működni az olyan nyelvi elemekkel, mint például az echo(), print(), unset(), isset(), empty(), include(), require() és hasonlók. Ahhoz, hogy használhasd ezeket a konstrukciókat függvényváltozóként definiálnod kell saját csomagolófüggvényeket.

Example#1 Függvényváltozó példa

<?php
function ize()
{
    echo 
"Az ize()-ben<br />\n";
}

function 
bigyo($param '')
{
    echo 
"A bigyo()-ban; az argumentum: '$param'.<br />\n";
}

// Ez az echo-nak a csomagolófüggvénye
function echoit($string)
{
    echo 
$string;
}

$func 'ize';
$func();                   // Ez meghívja ize()-t

$func 'bigyo';
$func('Stex van Boeven');  // Ez meghívja bigyo()-t

$func 'echoit';
$func('teszt');            // Ez meghívja az echoit()-ot
?>

Egy objektum metódusát is meghívhatod a függvényváltozókat használva.

Example#2 Metódusváltózó példa

<?php
class Ize
{
    function 
Valtozo()
    {
        
$nev 'Bigyo';
        
$this->$nev(); // Ez meghívja a Bigyo() metódust
    
}
    
    function 
Bigyo()
    {
        echo 
"Itt Bigyo!";
    }
}

$ize = new Ize();
$fnev "Valtozo";
$ize->$fnev();  // Ez meghívja az $ize->Valtozo() -t
?>

Lásd még a call_user_func(), variable variables és function_exists() függvényeket.