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() - БбрасываСт ΠΈ ΠΏΠΎΠΌΠ΅Ρ‡Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π»Π΅Π½ΠΈΠ²Ρ‹ΠΌ
οΌ‹Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π΅Ρ‰Ρ‘ Π½Π΅ добавляли примСчания для страницы