Morfeey
@Morfeey

Reflection\ Closure как верно использовать?

Имеется некий класс, в котором пытаюсь вернуть этот же класс, только с измененным доступом. Взял на вооружение 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);
    }

}

Что я делаю не так ?
  • Вопрос задан
  • 44 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы