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.