PHPでよく使われるマジックメソッドを詳しく解説

墨辰丷
リリース: 2023-03-27 16:24:02
オリジナル
1220 人が閲覧しました

この記事では主にPHPでよく使われるマジックメソッドに関する関連情報を紹介します。非常に良い基準値を持っています。エディターで見てみましょう

PHP では、構築メソッド、デストラクター メソッド、その他のマジック変数などのマジック メソッドをよく使用します。一般的に使用されるいくつかのマジック変数の概要を以下に示します:

__construct()。 __destruct()、__clone()、__autoload()、__tostring()、__invoke()、__set()、__get()、__unset()、__isset()、__call()、__callstatic;

1,__constuct ()Constructor

通常、オブジェクトをインスタンス化した後、オブジェクトのプロパティを初期化する必要があります。オブジェクトをインスタンス化するとき、PHP システムは __construct() という名前のメソッドを自動的に呼び出します。このメソッドを「コンストラクター メソッド」と呼びます。

その中で、コンストラクターはパラメーターを持つことができません。

stu_name = $name; $this->stu_age = $age; } } //实例化stu对象 $stu = new Stu('孙悟空','500');
ログイン後にコピー

2.__destruct() デストラクターメソッド

は、オブジェクトが「誕生」するときにシステムによって自動的に呼び出され、デストラクターメソッドが呼び出されます。オブジェクトが「誕生」したとき、オブジェクトが「消滅」したときにシステムによって自動的に呼び出されます。

デストラクター メソッドの名前は __destruct() です。このメソッドにはパラメーターを含めることはできないことに注意してください。

ログイン後にコピー

注: デストラクター メソッドは、オブジェクトが破棄される前に呼び出されます。

関数:

デストラクターメソッドは通常、オブジェクト自体を破棄するのではなく、オブジェクトによって占有されている追加のリソースを解放するために使用されます。

3 オブジェクトは依然として Student クラスのインスタンスですか?

instanceof 演算子を使用して判断できます。

instanceof は、オブジェクトが特定のクラスのインスタンスであるかどうかを判断するために使用されます。

2 つのオペランドが必要です。前部はオブジェクト変数、後部はクラス名です。ブール値を返します!

4.__autoload() はクラスを自動的にロードします

存在しないクラスを呼び出すときに自動的に呼び出されます!

//克隆方法在克隆对象的时候对新对象的初始化工作 public function __clone(){ $this->is_clone=true; } 
ログイン後にコピー

5.__tostring()

オブジェクトが文字列として使用されると自動的に呼び出されます

var_dump($stu instanceof Stu);   //返回bool(true)

6.__invoke()

オブジェクトが関数として使用されると自動的に呼び出されます

7,__set()

アクセスできない属性に値を割り当てるときに自動的に呼び出されます (例: クラス外のプライベート属性を呼び出す)

8.__get()

アクセスできない属性値を取得するときに自動的に呼び出されます。

9.__unset()

アクセスできないプロパティを破棄するときに自動的に呼び出されます

10.__isset()

アクセスできないプロパティが存在するかどうかを判断するときに自動的に呼び出されます

11. __call()

自動的にトリガーされますいつアクセスできない通常のメソッドが呼び出されます

ログイン後にコピー

12. 以上がこの記事の全内容です、皆様の学習のお役に立てれば幸いです。

関連する推奨事項:

PHP

PDO 操作の概要_JavaScript スキル

PHP

メソッドのオーバーロードを使用して、動的に作成された属性の get および set メソッドを実装する_JavaScript スキル

使用例PHP でスクリプトの実行時間を計算するためのマイクロ秒

_javascript スキル


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

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!