php -- 魔术方法 之 删除属性:__unset()
2024-08-26 13:45:51
属性重载:当访问一个不存在或者权限不够的属性的时候,能够触发一系列的魔术方法,就叫做属性重载
__unset():当删除一个不存在或者权限不够的属性的时候会自动触发
<?php //属性重载
class Person{
//属性
public $name;
private $age; //构造方法
public function __construct($name,$age) {
$this->name = $name;
$this->age = $age;
} //增加__unset方法,没有返回值
public function __unset($name){
$allow = array('age'); //判断
if(in_array($name,$allow)){
//如果允许删除,就帮助其删除
unset($this->$name);
}
}
}
echo '<pre>'; //实例化
$person = new Person('方智',19); var_dump($person);
//删除属性
//unset($person->name); //公有属性可以直接被unset掉
//var_dump($person); //unset私有属性
unset($person->age);
var_dump($person); unset($person->tail);
最新文章
- FTP文件服务搭建与同步传输
- elasticsearch 5.1 问题 ubuntu
- 二模12day1解题报告
- HTML之:fieldset——一个不常用的HTML标签
- java coder的水平
- 【Spring】Spring系列5之Spring支持事务处理
- Quailty and Binary Operation
- The Romantic Hero
- mysql---用户管理
- hdu 5312 Sequence(数学推导+线性探查(两数相加版))
- Windows下composer的下载与配置
- 【转】几种现代GPS测量方法和技术
- java设计模式-----2、工厂方法模式
- curl get方式
- CT ubuntu 16.04安装 adobe flash player
- 项目启动时发生NOT found
- 学习Struts2经验总结
- PHP做APP接口时,如何保证接口的安全性??????????
- python爬取12306及各参数的使用。完整代码
- Caused by:java.lang.IllegalStateException at android.media.MediaPlayer._setDataSource(Native Method)