PHP 5.3 では、次のことができます。
$baz::waldo();
あなたは同等のことができますか
$foo->bar::garply(); //generates an error
{$foo->bar}::garply(); //this too
頼ることなく
$baz = $foo->bar;
$baz::garply(); // while this works
PHP 5.3 では、次のことができます。
$baz::waldo();
あなたは同等のことができますか
$foo->bar::garply(); //generates an error
{$foo->bar}::garply(); //this too
頼ることなく
$baz = $foo->bar;
$baz::garply(); // while this works
知るための最良の方法は、それをテストすることです:テストデモ
これらのクラスを与える:
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 から動作します:テストデモ