Делает метод доступным

# ReflectionMethod::setAccessible

(PHP 5 >= 5.3.2, PHP 7, PHP 8)

ReflectionMethod::setAccessible — Делает метод доступным

Внимание

Начиная с PHP 8.5.0 функция УСТАРЕЛА. Полагаться на функцию настоятельно не рекомендуют.

### Описание

#[\Deprecated]
public function ReflectionMethod::setAccessible(bool `$accessible`): void

Метод открывает доступ к защищённому или закрытому свойству для метода ReflectionMethod::invoke().

> Замечание: С PHP 8.1.0 вызов метода утратил смысл; методы доступны для вызова по умолчанию.

### Список параметров

`accessible`

  Значение `true` делает метод доступным, `false` — закрывает доступ к методу.

### Возвращаемые значения

Функция не возвращает значения после выполнения.

### Список изменений

Версия | Описание
--- | ---
8.5.0 | Метод объявлен устаревшим, поскольку больше ни на что не влияет.
8.1.0 | Вызов этого метода ни на что не влияет; все методы по умолчанию доступны для вызова.

### Примеры

Пример #1 Пример определения класса

    <?php

    class MyClass
    {
        private function foo()
        {
            return 'bar';
        }
    }

    $method = new ReflectionMethod("MyClass", "foo");
    $method->setAccessible(true);

    $obj = new MyClass();
    echo $method->invoke($obj);
    echo $obj->foo();

    ?>

Вывод приведённого примера будет похож на:

    bar
    Fatal error: Uncaught Error: Call to private method MyClass::foo() from global scope in /in/qdaZS:16

### Смотрите также

- ReflectionMethod::isPrivate() - Проверяет, является ли метод закрытым
- ReflectionMethod::isProtected() - Проверяет, является ли метод защищённым

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open