Имеется некий класс, в котором пытаюсь вернуть этот же класс, только с измененным доступом. Взял на вооружение
Reflection, но что-то пошло не так: (Uncaught ReflectionException: Access to non-public constructor)
final class SearchOption
{
private $IsRecurse;
private function __construct(bool $IsRecurse) {
$this->IsRecurse = $IsRecurse;
}
private function __clone() {
}
private static function getInstance (bool $IsRecurse) {
$reflection = new \ReflectionClass(__CLASS__);
$reflection
->getProperty("IsRecurse")
->setAccessible(true);
$reflection->getConstructor()->setAccessible(true);
$result = $reflection->newInstance($IsRecurse);
return $result;
}
public static function Current () {
return self::getInstance(false);
}
public static function Recurse () {
return self::getInstance(true);
}
}
Что я делаю не так ?