この記事では主にPHPでよく使われるマジックメソッドに関する関連情報を紹介します。非常に良い基準値を持っています。以下のエディターで見てみましょう
私たちは、構築メソッド、デストラクターメソッド、その他のマジック変数などのマジックメソッドを PHP でよく使用します。ここでは、よく使用されるいくつかのマジック変数の概要を示します:
construct ( )、destruct()、clone()、autoload()、tostring()、invoke()、set()、get()、unset()、isset()、call()、callstatic;
1 .constuct()Constructor
通常、オブジェクトをインスタンス化した後、オブジェクトのプロパティを初期化する必要があります。オブジェクトをインスタンス化するとき、PHP システムは、construct() という名前のメソッドを自動的に呼び出します。このメソッドを「コンストラクター メソッド」と呼びます。
その中で、コンストラクター メソッドにはパラメーターを含めることはできません。
<?php class Stu { public $stu_name; public $stu_age; //构造方法,实例化时自动调用 public function construct($name,$age){ $this->stu_name = $name; $this->stu_age = $age; } } //实例化stu对象 $stu = new Stu('孙悟空','500');
2.destruct() デストラクター メソッド
は、コンストラクター メソッドとペアになっています。コンストラクター メソッドは、オブジェクトが「誕生」するときにシステムによって自動的に呼び出されます。一方、デストラクター メソッドは、オブジェクトが「生成される」ときに呼び出されます。消えます」 システムによって自動的に呼び出されます。
デストラクター メソッドの名前は destruct() です。このメソッドにはパラメーターを含めることはできないことに注意してください。
<?php //析构方法 public function destruct(){ } ?>
注: デストラクター メソッドは、オブジェクトが破棄される前に呼び出されます。
関数:
デストラクターメソッドは通常、オブジェクト自体を破棄するのではなく、オブジェクトによって占有されている追加のリソースを解放するために使用されます。
3.clone() cloning
トリガーのタイミング: オブジェクトを複製するとき、それは新しいオブジェクトを初期化する作業です
//克隆方法在克隆对象的时候对新对象的初始化工作 public function clone(){ $this->is_clone=true; }
考え:
複製されたオブジェクトはまだ生徒ですか?クラスのインスタンスについてはどうでしょうか?
instanceof 演算子を使用して判断できます。
instanceof は、オブジェクトが特定のクラスのインスタンスであるかどうかを判断するために使用されます。
2 つのオペランドが必要です。前部はオブジェクト変数、後部はクラス名です。ブール値を返します!
var_dump($stu instanceof Stu); //返回bool(true)
4.autoload()クラスの自動ロード
存在しないクラスを呼び出すと自動的に呼び出されます!
<?php /** * 自动加载类 * 需要什么类autoload会自动调用需要的文件 * */ public function autoload($class_name) { require_once "../Model/{$class_name}.class.php"; } ?>
5.tostring()
オブジェクトが文字列として使用される場合に自動的に呼び出されます
6.invoke()
オブジェクトが関数として使用される場合に自動的に呼び出されます
7, set ( )
アクセスできないプロパティに値を割り当てるときに自動的に呼び出されます(例:クラス外のプライベートプロパティを呼び出す)
8.get()
アクセスできないプロパティの値を取得するときに自動的に呼び出されます
9. unset()
アクセスできないプロパティを破棄するときに自動的に呼び出されます
10.isset()
アクセスできないプロパティが存在するかどうかを判断するときに自動的に呼び出されます
11.call()
通常のメソッドがアクセスできないときに自動的にトリガーされますアクセスされるメソッドは呼び出されます
<?php class Stu{ public function call(){ echo "error"; } } $stu = new Stu(); //此时Stu类里没有show()方法,会触发call()函数 $stu->show();
12.callststic()
アクセスできないメソッドにアクセスできないときに自動的にトリガーされます
<?php class Stu{ public static function callstatic(){ echo "error"; } } $stu = new Stu(); //此时Stu类里没有show()方法,会触发call()函数 $stu::show();
以上がPHPでよく使われるマジックメソッドは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。