PHP重载
来源:互联网 发布:macbook视频剪辑软件 编辑:程序博客网 时间:2024/05/23 02:03
PHP中的重载指的是动态的创建属性与方法,是通过魔术方法来实现的。属性的重载通过__set,__get,__isset,__unset来分别实现对不存在属性的赋值、读取、判断属性是否设置、销毁属性。
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;
方法的重载通过__call来实现,当调用不存在的方法的时候,将会转为参数调用__call方法,当调用不存在的静态方法时会使用__callStatic重载。
class Car { public $speed = 0; public function __call($name, $args) { if ($name == 'speedUp') { $this->speed += 10; } }}$car = new Car();$car->speedUp(); //调用不存在的方法会使用重载echo $car->speed;
0 0
- PHP重载
- php 重载
- PHP 重载
- PHP重载
- PHP重载
- PHP重载
- php重载
- php 重载
- PHP的伪重载
- PHP 函数重载
- PHP的伪重载
- PHP的伪重载
- PHP重载构造函数
- php 函数重载
- 重载 重写 php
- php函数重载
- PHP 方法重载例子
- php实现方法重载
- 设计模式--外观模式
- 搭建高可用MongoDB集群(四):分片-----个人记录
- linux 查看网卡是否有网线连接
- Codeforces Round #313 (Div. 2) (A、B、C、D)
- Android 压力测试 Monkey
- PHP重载
- MyBatis批量插入数据
- splash启动速度优化
- Linux下的iwpriv(iwlist、iwconfig)的简单应用
- openCV整理的资料
- VS2010项目转换到VS2013调试运行错误:IIS8.0 详细错误 - 500.23
- 函数
- LeetCode || Reverse Linked List
- thinkPHP查询方法