今天我回忆起两年前接受采访的问题。
我想解决它,因为它非常困扰我。
所以,这是我的PHP类:
class A
{
function __construct(A $aObject)
{
$aObject->getValue();
return;
}
function getValue()
{
echo 'Success';
}
}
我如何创建这个类的对象?但我们无法改变这门课程。
答案 0 :(得分:6)
有多种解决方案,最简单的解决方案是使用ReflectionClass::newInstanceWithoutConstructor
:
$a = new A((new ReflectionClass("A"))->newInstanceWithoutConstructor());
另一个解决方案是扩展类并在那里重载构造函数:
class B extends A {
function __construct() {}
}
$a = new A(new B);