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';

    }

}

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.

猜你喜欢

转载自chenhaibo0806999.iteye.com/blog/2203354