ホームページ > バックエンド開発 > PHPの問題 > PHPでのマジックメソッドの使用法は何ですか

PHPでのマジックメソッドの使用法は何ですか

(*-*)浩
リリース: 2023-02-23 18:20:01
オリジナル
2947 人が閲覧しました

オブジェクト指向プログラミングでは、PHP はプログラミングに非常に便利な一連のマジック メソッドを提供します。 PHP のマジック メソッドは通常、__ (2 つのアンダースコア) で始まり、明示的な呼び出しを必要としませんが、特定の条件によってトリガーされます。

PHPでのマジックメソッドの使用法は何ですか

#__construct()

コンストラクターは、最も一般的に使用される関数です。オブジェクトを作成するときに、コンストラクターで初期化作業を行うことができます。インスタンス化時に対応する数のパラメーターが渡される限り、コンストラクターには任意の数のパラメーターを定義できます。コンストラクターで例外が発生すると、オブジェクトの作成が妨げられます。

__desctruct() (推奨学習: PHP プログラミングの入門から熟練度まで )

デストラクターは通常、オブジェクトが破棄されるときに呼び出されます。コンストラクターはパラメーターを受け取りません。データベース接続を閉じるなど、一部のクリーンアップ作業はデストラクターで実行されることがよくあります。

__get()

は、存在しないプロパティにアクセスしようとすると呼び出されます。アクセスされた属性の名前を表すパラメーターを受け取り、属性の値を返します。

##__set()


魔法のメソッドは次のような場合に使用されます。アクセスできないプロパティが存在する場合に呼び出され、プロパティの名前を表すパラメータとプロパティの値を表すパラメータの 2 つを受け取ります。

__isset()

アクセスできないプロパティに対して isset() メソッドが呼び出されたときに、マジック メソッドが呼び出され、プロパティの名前を表すパラメータを受け取ります。プロパティが存在するかどうかを示すブール値を返す必要があります。

__unset()

アクセスできない属性を破棄するために unset() 関数が呼び出されたときに、マジック メソッドが呼び出されます。このメソッドは、属性の名前を表すパラメータを受け取ります。属性。

__toString()

は、オブジェクトを文字列として使用するときに呼び出されます。パラメーターは受け取りません。このメソッドを使用すると、オブジェクトの表現を定義できます。

__clone()

魔法のメソッド __clone() は、上記の問題を解決できます。このマジック メソッドは、オブジェクトに対して clone キーワードが使用されるときに呼び出されます。

__sleep()

マジック メソッド __sleep() は、オブジェクトをシリアル化するとき (serialize() を呼び出すとき) に呼び出されます。パラメーターは取らず、シリアル化する必要があるすべてのプロパティを含む配列を返す必要があります。このマジック メソッド内では、他の操作も実行できます。

##注意すべき点は、実行中のオブジェクトに影響を与える可能性があるため、この関数では破棄操作を実行しないことです。

#__wakeup()

格納されたオブジェクトを逆シリアル化するときに、マジック メソッド __wakeup() が呼び出されます。パラメータを受け取らず、値も返しません。これを使用して、シリアル化中に失われたデータベース接続やリソースを処理できます。

__call()

マジック メソッド __call() が存在しない、またはアクセスできないメソッドを呼び出すと、そのメソッドが呼び出されます。 。これは 2 つのパラメータを受け取ります。1 つは呼び出されるメソッドの名前で、もう 1 つは関数パラメータを含む配列です。このメソッドを使用して、サブオブジェクトの同じ名前の関数を呼び出すことができます

以上がPHPでのマジックメソッドの使用法は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート