属性重载:当访问一个不存在或者权限不够的属性的时候,能够触发一系列的魔术方法,就叫做属性重载

__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);

最新文章

  1. FTP文件服务搭建与同步传输
  2. elasticsearch 5.1 问题 ubuntu
  3. 二模12day1解题报告
  4. HTML之:fieldset——一个不常用的HTML标签
  5. java coder的水平
  6. 【Spring】Spring系列5之Spring支持事务处理
  7. Quailty and Binary Operation
  8. The Romantic Hero
  9. mysql---用户管理
  10. hdu 5312 Sequence(数学推导+线性探查(两数相加版))
  11. Windows下composer的下载与配置
  12. 【转】几种现代GPS测量方法和技术
  13. java设计模式-----2、工厂方法模式
  14. curl get方式
  15. CT ubuntu 16.04安装 adobe flash player
  16. 项目启动时发生NOT found
  17. 学习Struts2经验总结
  18. PHP做APP接口时,如何保证接口的安全性??????????
  19. python爬取12306及各参数的使用。完整代码
  20. Caused by:java.lang.IllegalStateException at android.media.MediaPlayer._setDataSource(Native Method)

热门文章

  1. 苹果开发——App内购以及验证store的收据(一)
  2. ant design pro (五)新增业务组件
  3. UIScrollView 循环滚动,代码超简单
  4. ssh-keygen - 生成、管理和转换认证密钥
  5. [Asp.Net]最近一个项目的总结
  6. springboot 整合 rabbitmq
  7. Windows下phpStudy中的Apache无法启动的排查方法
  8. unity, 获取mesh名称
  9. JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof
  10. c语言优先级和结合性