2014-06-24 17 views

回答

0

只有當你實現MyClass的東西以檢查:

class MyClass { 
    public $constructorCalled = false; 

    public function __construct() { 
    $this->constructorCalled = true; 
    } 
} 
+0

'$ constructorCalled'應該是私有的。即使如此,也有可能使用反射來「欺騙」它。 – Marek

+0

因爲作弊總是會起作用,所以我選擇了最簡單的解決方案來展示這個想法。對此的改進取決於OP – colburton

+0

我希望這可以用於任何課程,包括內部課程。問題是,沒有辦法確定newInstanceWithoutConstructor()是否可以在給定的類上使用(它不適用於內部類或擴展內部類的類) - > isInternal()對擴展的類返回false內部類但newInstanceWithoutConstructor不能用於他們 –