PHP Conference Nagoya 2025

ReflectionClass::resetAsLazyProxy

(PHP 8 >= 8.4.0)

ReflectionClass::resetAsLazyProxyオブジェクトをリセットしてレイジーとしてマークする

説明

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

このメソッドの動作は、 ReflectionClass::resetAsLazyGhost()と同じですが、 プロキシ戦略を使用します。

object自体がプロキシになります。 ReflectionClass::resetAsLazyGhost()と同様に、 オブジェクトは他のものに置き換えられず、初期化後もその同一性は 変わりません。プロキシと実インスタンスは別々のオブジェクトであり、 別々の実体を持ちます。

パラメータ

object
非レイジーなオブジェクト、または初期化されたレイジーオブジェクト。
factory
ReflectionClass::newLazyProxy()と 同じシグネチャと目的を持つファクトリコールバック。
options

optionsには 以下のフラグを組み合わせて指定できます:

ReflectionClass::SKIP_INITIALIZATION_ON_SERIALIZE
デフォルトでは、レイジーオブジェクトのシリアライズは 初期化がトリガーされます。このフラグを設定すると、 初期化せずにシリアライズできるようになります。
ReflectionClass::SKIP_DESTRUCTOR
デフォルトでは、オブジェクトをレイジーにする前に、そのデストラクタが(存在すれば) 呼び出されます。これは、オブジェクト内の既存の状態に関する安全性を提供します。 このフラグはその動作を無効にし、デストラクタを呼び出さずにオブジェクトを レイジーとしてリセットできるようにします。

戻り値

値を返しません。

エラー / 例外

オブジェクトがレイジーで未初期化の場合、ReflectionExceptionを スローします。

オブジェクトが初期化中である場合、またはforeach()で プロパティが反復処理されている場合、Errorを スローします。

参考

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top