Сбрасывает и помечает объект ленивым

# ReflectionClass::resetAsLazyProxy

(PHP 8 >= 8.4.0)

ReflectionClass::resetAsLazyProxy — Сбрасывает и помечает объект ленивым

### Описание

public function ReflectionClass::resetAsLazyProxy(object `$object`, callable `$factory`, int `$options` = 0): void

Поведение метода аналогично методу ReflectionClass::resetAsLazyGhost(), за исключением того, что этот метод использует стратегию прокси.

Объект в аргументе `object` становится прокси. По аналогии с методом ReflectionClass::resetAsLazyGhost() объект не заменяется другим объектом и сохраняет идентификатор даже после инициализации. Ленивый прокси и реальный экземпляр — разные объекты, с разными идентификаторами.

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

`object`
  Неленивый объект или инициализированный ленивый объект.
`factory`
  Фабричная callback-функция с теми же сигнатурой и целью, что и в описании метода ReflectionClass::newLazyProxy().
`options`

  Параметр `options` принимает комбинацию следующих флагов:

  `ReflectionClass::SKIP_INITIALIZATION_ON_SERIALIZE`
    По умолчанию сериализация ленивого объекта запускает его инициализацию. Установка этого флага предотвращает инициализацию, что разрешает сериализовать ленивые объекты без инициализации.
  `ReflectionClass::SKIP_DESTRUCTOR`
    По умолчанию деструктор объекта, — если деструктор определили в классе, — вызывается раньше, чем метод сделает объект ленивым. Это обеспечивает безопасность в отношении предыдущих состояний объекта. Этот флаг отключает такое поведение и разрешает сбрасывать объекты до ленивых без вызова деструктора.

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

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

### Ошибки

Метод выбросит исключение ReflectionException, если объект ленивый и объект не инициализировали.

Метод выбросит ошибку Error, если объект инициализируется, или если свойства объекта перебираются конструкцией `foreach`.

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

- ReflectionClass::newLazyProxy() - Создает новый экземпляр ленивого прокси
- ReflectionClass::resetAsLazyGhost() - Сбрасывает и помечает объект ленивым

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