PHP のオーバーロード
PHP におけるオーバーロードとは、マジック メソッドを通じて実現されるプロパティとメソッドの動的な作成を指します。属性のオーバーロードでは、__set、__get、__isset、__unset を使用して、それぞれ割り当て、読み取り、属性が設定されているかどうかの判断、属性が存在しない場合の属性の破棄を実装します。
<strong style="background-color:rgb(255,255,255)">class Car { private $ary = array(); public function __set($key, $val) { $this->ary[$key] = $val; } public function __get($key) { if (isset($this->ary[$key])) { return $this->ary[$key]; } return null; } public function __isset($key) { if (isset($this->ary[$key])) { return true; } return false; } public function __unset($key) { unset($this->ary[$key]); }}$car = new Car();$car->name = '汽车'; //name属性动态创建并赋值echo $car->name;</strong>
メソッドのオーバーロードは、存在しないメソッドが呼び出されるとき、__call メソッドがパラメーターとして呼び出されます。メソッドは __callStatic オーバーロードを使用します。
<strong style="background-color:rgb(255,255,255)">class Car { public $speed = 0; public function __call($name, $args) { if ($name == 'speedUp') { $this->speed += 10; } }}$car = new Car();$car->speedUp(); //调用不存在的方法会使用重载echo $car->speed;</strong>
著作権表示: この記事はブロガーによるオリジナルの記事であり、ブロガーの許可なく複製することはできません。