0
$this->property = 'SomeClass';
$x = new $this->property(); // works
$x = $this->property::create(); // fails (parse error)
這是PHP中的錯誤嗎?類屬性作爲類名稱
是否可以使用該屬性調用靜態方法,而不將該值賦值給新變量,而是使用該變量?
$this->property = 'SomeClass';
$x = new $this->property(); // works
$x = $this->property::create(); // fails (parse error)
這是PHP中的錯誤嗎?類屬性作爲類名稱
是否可以使用該屬性調用靜態方法,而不將該值賦值給新變量,而是使用該變量?
使用call_user_func
$x = call_user_func(array($this->property, 'create'));
您正在使用什麼版本的PHP? – FoolishSeth
php 5.3.0。它在其他工作嗎? – Alex
不是我所知道的。此行爲位於範圍解析運算符doc的註釋中,但由於某些原因,運算符不在運算符文檔的優先級圖表中。從我能告訴你不能用任何東西,包括它本身鏈接::。在5.3中使用變量來引用類名的能力在5.3中是新的,但我想他們沒有超出這個範圍。 – FoolishSeth