Difference between revisions of "PHP/function variable"
< PHP
Jump to navigation
Jump to search
Line 23: | Line 23: | ||
The variable can be used to call the function in exactly the same way as if it had been assigned an anonymous function. | The variable can be used to call the function in exactly the same way as if it had been assigned an anonymous function. | ||
===Anonymous Functions=== | ===Anonymous Functions=== | ||
+ | <small>''[https://www.php.net/manual/en/functions.anonymous.php official documentation]''</small> | ||
<syntaxhighlight lang=php> | <syntaxhighlight lang=php> | ||
$fEx3 = function() { echo "Anonymous function was called!\n"; }; | $fEx3 = function() { echo "Anonymous function was called!\n"; }; |
Revision as of 17:40, 10 April 2022
About
A variable can store a reference to a function, which can then be called from the variable.
Named Functions/Methods
The thing that isn't explained very well in the documentation is that if you want to assign a predefined function to a variable, you just use a string which is a callable/accessible form of the function.
function Example1() { echo "Example1 was called!\n"; }
#$fEx1 = Example1; // does not work; sees "Example1" as a constant
$fEx1 = 'Example1';
$fEx1(); // prints "Example1 was called!"
class cExample2 {
static public function Test1() { echo "Test1 was called!\n"; }
}
#$fEx2 = cExample2::Test1; // does not work; sees "Test1" as a class constant
$fEx2 = 'cExample2::Test1';
$fEx2(); // prints "Test1 was called!"
The variable can be used to call the function in exactly the same way as if it had been assigned an anonymous function.
Anonymous Functions
$fEx3 = function() { echo "Anonymous function was called!\n"; };
$fEx3(); // prints "Anonymous function was called!"
Unlike with predefined functions, however, the type for the variable is Callable rather than string.