php的可变函数,今天大概的了解下,是看php手册总结的,觉得用处不大;
PHP 支持可变函数的概念。这意味着如果一个变量名后有圆括号,PHP 将寻找与变量的值同名的函数,并且尝试执行它。可变函数可以用来实现包括回调函数,函数表在内的一些用途。
可变函数不能用于例如 echo,print,unset(),isset(),empty(),include,require 以及类似的语言结构。需要使用自己的包装函数来将这些结构用作可变函数。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
class Foo
{
function Variable()
{
$name = 'Bar' ;
$ this ->$name(); // This calls the Bar() method
}
function Bar()
{
echo "This is Bar" ;
}
}
$foo = new Foo();
$funcname = "Variable" ;
$foo->$funcname(); // This calls $foo->Variable()
class Foo
{
static $variable = 'static property' ;
static function Variable()
{
echo 'Method Variable called' ;
}
}
echo Foo::$variable; // This prints 'static property'. It does need a $variable in this scope.
$variable = "Variable" ;
Foo::$variable(); // This calls $foo->Variable() reading $variable in this scope.
|
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
原文链接:http://chenhaibo0806999.iteye.com/blog/2203354