オブジェクト指向プログラミングでは、PHP はプログラミングに非常に便利な一連のマジック メソッドを提供します。 PHP のマジック メソッドは通常、__ (2 つのアンダースコア) で始まり、明示的な呼び出しを必要としませんが、特定の条件によってトリガーされます。
__construct()、__destruct()、__call()、__callStatic()、__get()、__set()、__isset()、__unset()、メソッド__sleep()、__wakeup()、__toString()、__invoke()、__set_state()、__clone()、__debugInfo() などは、PHP では Magic メソッドと呼ばれます。 (推奨される学習: PHP ビデオ チュートリアル )
注: 独自のクラス メソッドに名前を付ける場合、これらのメソッド名を使用する場合を除き、これらのメソッド名を使用することはできません。魔法の機能。
注: PHP は、__ (2 つのアンダースコア) で始まるすべてのクラス メソッドをマジック メソッドとして予約します。したがって、上記のマジック メソッドを除き、クラス メソッドを定義する場合は、先頭に __ を付けないことをお勧めします。__sleep() と __wakeup()
public __sleep ( void ) : array __wakeup ( void ) : void
__sleep() は、親クラスのプライベート メンバーの名前を返すことはできません。そうすると、E_NOTICE レベルのエラーが発生します。代わりに Serializable インターフェイスを使用できます。
__sleep() メソッドは、コミットされていないデータや同様のクリーンアップ操作を送信するためによく使用されます。同時に、この機能は、大きなオブジェクトがいくつかあるものの、すべてを保存する必要がない場合に便利です。
対照的に、unserialize() は __wakeup() メソッドがあるかどうかを確認します。存在する場合、__wakeup メソッドが最初に呼び出され、オブジェクトに必要なリソースが事前に準備されます。
__wakeup() は、データベース接続の再確立やその他の初期化操作の実行など、逆シリアル化操作でよく使用されます。
rree以上がphpの魔法のメソッドとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。