php魔术方法(一)
来源:互联网 发布:nginx htaccess配置 编辑:程序博客网 时间:2024/05/17 06:14
PHP中的魔术方法
1.__get
用途:读取私有的成员属性,传入一个参数
例子:<?phpClass Person{private $_name = '花花';private $_age = 18;private $_sex = '女';public function __get($name){$allowVars = ['_name','_age'];if (in_array($name,$allowVars)) {return $this->$name;}}}$p = new Person();echo $p->_name;echo $p->_age;echo $p->_sex;
输出结果为
花花18
2.__set
用途:修改和设置私有的成员属性,两个参数(属性名,值)
例子:<?phpClass Person{<span style="white-space:pre"></span>private $_name = '花花';<span style="white-space:pre"></span>private $_age = 18;<span style="white-space:pre"></span>private $_sex = '女';<span style="white-space:pre"></span>public function __get($name)<span style="white-space:pre"></span>{<span style="white-space:pre"></span>return $this->$name;<span style="white-space:pre"></span>}<span style="white-space:pre"></span>public function __set($key,$value)<span style="white-space:pre"></span>{<span style="white-space:pre"></span>return $this->$key = $value;<span style="white-space:pre"></span>}}$p = new Person();$p->_name = '小布';echo $p->_name;
输出结果为
小布
3.__unset
用途:删除和销毁私有成员属性时触发,一个参数
例子:<?phpClass Person{<span style="white-space:pre"></span>private $_name = '花花';<span style="white-space:pre"></span>private $_age = 18;<span style="white-space:pre"></span>private $_sex = '女';<span style="white-space:pre"></span>public function __get($name){<span style="white-space:pre"></span>return $this->$name;<span style="white-space:pre"></span>}<span style="white-space:pre"></span>public function __unset($name)<span style="white-space:pre"></span>{<span style="white-space:pre"></span>unset($this->$name);<span style="white-space:pre"></span>}}$p = new Person();unset($p->_name);echo $p->_name;
输出结果为
空
4.__isset
用途:删除和销毁私有成员属性时触发,一个参数
例子:<?phpClass Person{<span style="white-space:pre"></span>private $_name = '花花';<span style="white-space:pre"></span>private $_age = 18;<span style="white-space:pre"></span>private $_sex = '女';<span style="white-space:pre"></span>public function __isset($name)<span style="white-space:pre"></span>{<span style="white-space:pre"></span>if (isset($this->$name)) {<span style="white-space:pre"></span>echo '设置过';<span style="white-space:pre"></span>} else {<span style="white-space:pre"></span>echo '未设置过';<span style="white-space:pre"></span>}<span style="white-space:pre"></span>}}$p = new Person();isset($p->_name);isset($p->_home);
输出结果为
设置过 未设置过
3.__construct
用途:实例化一个对象时自动执行,参数自己规定
例子:<?phpClass Person{<span style="white-space:pre"></span>private $_name;<span style="white-space:pre"></span>private $_age;<span style="white-space:pre"></span>private $_sex;<span style="white-space:pre"></span><span style="white-space:pre"></span>public function __construct($name,$age,$sex)<span style="white-space:pre"></span>{<span style="white-space:pre"></span>$this->_name = $name;<span style="white-space:pre"></span>$this->_age = $age;<span style="white-space:pre"></span>$this->_sex = $sex;<span style="white-space:pre"></span>}<span style="white-space:pre"></span>public function __get($name)<span style="white-space:pre"></span>{<span style="white-space:pre"></span>return $this->$name;<span style="white-space:pre"></span>}<span style="white-space:pre"></span>}$p = new Person('花花',18,'女');echo $p->_name;echo $p->_age;
输出结果为
<span style="font-size:12px;">花花18</span>
0 0
- php魔术方法(一)
- php中的魔术常量和魔术方法(一)
- php魔术常量,魔术方法
- PHP中的拦截器(魔术方法)
- php学习笔记(四)魔术方法
- php魔术方法的使用(总结)
- php---魔术方法(__wakeup和__sleep)
- php---魔术方法(__wakeup和__sleep)
- php---魔术方法(__tostring(),__set_state())
- php---魔术方法(__wakeup和__sleep)
- php的魔术方法
- php魔术方法
- PHP中的魔术方法
- php魔术方法
- php的魔术方法
- PHP魔术方法
- php 魔术方法使用说明
- php的魔术方法
- 程序设计中为什么要解耦?
- JNDI学习总结(三)——Tomcat下使用Druid配置JNDI数据源
- 内核rbtree使用示例
- EditText 当设置为action为搜索的时候,设置点击了搜索以后直接搜索的逻辑
- 什么方面的资料是玩家的需求点和喜欢看的游戏攻略
- php魔术方法(一)
- SWUSTOJ2475 字典树
- JDK自带内存及线程分析工具小记
- android 注册成功后返回账号和密码到登录界面,精辟讲解
- 《Higher-order organization of complex networks》-论文学习笔记
- android标题栏中添加返回按钮
- 支付宝APP支付之Java后台生成签名具体步骤
- java pdf 百度网盘资源
- C#调用C++DLL的小总结5---和C++的DLL的联合调试