Podręcznik PHP
Poprzedni | Rozdział 17. Funkcje | Następny

# 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().

Poprzedni | Spis treści | Następny
Zwracane wartości | Początek rozdziału | Wewnętrzne (wbudowane) funkcje