:オブジェクトがunserizlize()のみを使用している可能性のあるリソースを再構築できるので、__wakeupというマジックメソッドを使用するとどうなりますか?文書によると
アンシリアライズ()マジック 名前__wakeupを持つ機能の有無をチェック()。存在する場合、この関数は、オブジェクトが持つ可能性があるすべての リソースを再構成できます。
__wakeup()の使用目的は、シリアル化中に失われた可能性のあるデータベース接続 を再確立し、 その他の再初期化タスクを実行することです。
私のオブジェクトは、私はまだunserialize()
を使用して、私のオブジェクトの形式を再構築していることができ__wakeup()
メソッドを定義していない場合は、なぜ、この魔法の方法は、PHPにあるのでしょうか?
ドキュメントは、と同じことを言っていますが、オブジェクトがunserialize()
と同じように持つ可能性のあるリソースを再構築できます。
このマジックメソッド__wakeup()
は、シリアル化を開始する前、またはシリアル化の終了後に呼び出されますか?
'__wakeup()'は、非直列化の後でオブジェクトを返す前に実行されます。 'public function __wakeup(){var_dump($ this);}'のように、このメソッドで完全なオブジェクトと対話することができます。 – Scuzzy