在PHP 5.3中,你可以这样做:
$baz::waldo();
你可以做相同的
$foo->bar::garply(); //generates an error
{$foo->bar}::garply(); //this too
不诉诸
$baz = $foo->bar;
$baz::garply(); // while this works
答案 0 :(得分:1)
最好的方法是测试它: Test demo
提供这些课程:
class Foo
{
public static function hello()
{
echo "Hello !";
}
}
class Bar
{
public $apple = null;
public function __construct()
{
$this->apple = new Foo();
}
}
这只适用于PHP 7.0.0:
$foo = new Bar();
$foo->apple::hello();
您将在以前的版本中遇到此类错误:
解析错误:语法错误,意外的'::'
但是这个:
$foo = new Bar();
$baz = $foo->apple;
$baz::hello();
将在PHP 5.3.0中运行: Test demo