Compzone.Org :: Podręcznik PHP :: Zmienne funkcje
Pytania w drugiej edycji Testu PHP powinny być:
Trudniejsze
Łatwiejsze
Skomplikowane
Na myślenie
Do liczenia
Sonda Wyniki

Add to Google

Zmienne funkcje

PHP obsługuje koncepcję zmiennych funkcji. Oznacza to, że jeśli po nazwie zmiennej występują nawiasy, PHP będzie szukało funkcji o nazwie będącej wartością zmiennej i będzie próbowało wywołać ją. Między innymi może być to użyte do implementacji funkcji callback, tablicy funkcji itp.

Zmienne funkcje nie będą działać z elementami składowymi języka takimi jak echo(), print(), unset(), isset(), empty(), include(), require() i innymi podobnymi. Aby zastosować zmienne funkcje z takimi składowymi, niezbędne jest zastosowanie funkcji obudowujących.

Przykład 17-14. Przykład zmiennej funkcji

<?php
function foo() {
    echo 
"W foo()<br />\n";
}

function 
bar($arg '') {
    echo 
"W bar(); argumentem jest '$arg'.<br />\n";
}

// Funkcja obudowująca składnię echo

function echoIt($string) {
    echo 
$string;
}

$func 'foo';
$func(); // wywoła foo()

$func 'bar';
$func('test'); // wywoła bar()

$func 'echoIt';
$func('test'); // wywoła echoIt()
?>

Możliwe jest także wywołanie metody obiektu korzystając z mechanizmu zmiennych funkcji. You can also call an object's method by using the variable functions feature.

Przykład 17-15. Przykład zmiennych metod

<?php
class Foo
{
    function 
Zmienna()
    {
        
$name 'Bar';
        
$this->$name(); // Wywoła metodę Bar()
    
}
    
    function 
Bar()
    {
        echo 
"To jest Bar";
    }
}

$foo = new Foo();
$funkcja "Zmienna";
$foo->$funkcja();  // Wywoła $foo->Zmienna()

?>

Patrz także call_user_func(), variable variables i function_exists().

Copyright © 2005-2006 Compzone.Org. Kopiowanie i wykorzystywanie materiałów zawartych na tej stronie bez zgody autora zabronione!