php之可变函数的实例详解
php的可变函数,今天大概的了解下,是看php手册总结的,觉得用处不大;
PHP 支持可变函数的概念。这意味着如果一个变量名后有圆括号,PHP 将寻找与变量的值同名的函数,并且尝试执行它。可变函数可以用来实现包括回调函数,函数表在内的一些用途。
可变函数不能用于例如 echo,print,unset(),isset(),empty(),include,require 以及类似的语言结构。需要使用自己的包装函数来将这些结构用作可变函数。
- 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';
- }
- }
- //phpfensi.com
- 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.