爲什麼在類實例上下文中不要調用表格$this->className::staticMethod
的工作,但$className::staticMethod
表格的調用確實可行?如何調用存儲爲變量的類的靜態方法?
在下面的例子callDoSomething2
工程,但callDoSomething
不起作用(我得到一個解析器錯誤)。我使用PHP 5.3.15版本。
<?php
class A {
private $className;
public function __construct($className) {
$this->className = $className;
}
public function callDoSomething() {
$this->className::doSomething();
}
public function callDoSomething2() {
$className = $this->className;
$className::doSomething();
}
}
class B {
public static function doSomething() {
echo "hello\n";
}
}
$a = new A('B');
$a->doSomething();
重複的線路使用的東西:http://stackoverflow.com/questions/2108795/dynamic-static- method-call-in-php – 2013-02-13 22:51:20
請參閱http://php.net/manual/en/language.oop5.paamayim-nekudotayim.php – 2013-02-13 22:58:51