PHP は、Web 開発やデータ処理で広く使用されている、非常に人気のあるサーバーサイド スクリプト言語です。 PHP のマジック メソッドとは、プログラマがオブジェクトを操作しやすくするために、オブジェクトの作成、破棄、割り当てなどの際に自動的に呼び出されるいくつかの特別な関数を指します。この記事では、一般的な PHP マジック メソッド クラスをいくつか紹介します。
__construct() メソッドはオブジェクトの構築メソッドであり、オブジェクトの作成時にこのメソッドが自動的に呼び出されます。このメソッドでは、プロパティへの値の割り当て、データベースへの接続など、いくつかの初期化操作を完了できます。
class Person{ public $name; public $age; public function __construct($name,$age){ $this->name = $name; $this->age = $age; } } $person = new Person('张三',18); echo $person->name; //输出"张三" echo $person->age; //输出18
__destruct() メソッドは、オブジェクトのデストラクタ メソッドです。オブジェクトが破棄されると、このメソッドは次のようになります。自動的に呼び出されます。このメソッドでは、データベース接続を閉じるなど、一部のクリーンアップ操作を完了できます。具体的な例は次のとおりです。
class Person{ public function __destruct(){ echo "对象已经被销毁"; } } $person = new Person(); unset($person); //销毁对象 //输出 "对象已经被销毁"
__get() メソッドと __set() メソッドは、未定義のプロパティにアクセスするために使用され、未定義のプロパティへの割り当て。具体的には、未定義の属性にアクセスする場合、システムは自動的に __get() メソッドを呼び出し、属性名をパラメータとして渡します; 未定義の属性に値を割り当てる場合、システムは自動的に __set() メソッドを呼び出します。属性名と属性値をパラメータとして指定します。具体的な例は次のとおりです。
class Person{ private $name; public function __get($property){ if($property=='name'){ return $this->name; } } public function __set($property,$value){ if($property=='name'){ $this->name = $value; } } } $person = new Person(); $person->name = "张三"; //赋值给未定义的属性 echo $person->name; //访问未定义的属性 //输出 "张三"
class Person{ public $name; public $age; public function __construct($name,$age){ $this->name = $name; $this->age = $age; } public function __toString(){ return "姓名:".$this->name." 年龄:".$this->age; } } $person = new Person('张三',18); echo $person; //输出 "姓名:张三 年龄:18"
class Person{ public $name; public $age; public function __construct($name,$age){ $this->name = $name; $this->age = $age; } public function __clone(){ $this->name = "克隆对象"; $this->age = 0; } } $person1 = new Person('张三',18); $person2 = clone $person1; echo $person1->name; //输出 "张三" echo $person2->name; //输出 "克隆对象" echo $person1->age; //输出 18 echo $person2->age; //输出 0
以上がいくつかの一般的な PHP マジック メソッド クラスの詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。