php面向对象之__isset和__unset
2024-09-03 22:59:27
php面向对象之__isset和__unset
一、简介
__isset和__unset都是对不可访问属性的操作,前者是检验的时候自动调用,后者是销毁的时候自动调用。
比如说在类外访问private的时候就会出现不可访问属性。
二、代码
<?php
/*
* __isset:当外部调用isset()函数检测不可访问的属性或者不存在的属性时自动调用
__unset:当在类外部调用unset销毁不可访问属性时自动调用
* */
class Person{
private $userName;
private $age;
public $abc;
public function __construct($userName,$age){
$this->userName = $userName;
$this->age = $age;
}
public function __isset($name){
echo '当外部调用isset()函数检测不可访问的属性或者不存在的属性时自动调用';
return isset($name);
}
public function __unset($name){
echo '当在类外部调用unset销毁不可访问属性时自动调用';
unset($name);
}
}
$p = new Person('Clive',15);
var_dump(isset($p->abc));
echo '<hr/>';
unset($p->abc);
调用public属性,也就是可访问属性的时候,__isset和__unset都不会被访问到。
最新文章
- SQLServer 游标 (A)
- HDU1325
- Kinect For Windows V2开发日志九:侦测并绘制人体骨架
- Linux makefile 教程 非常详细,且易懂(转)
- 关于STM32在程序中间修改PWM值的总结(原创)
- python 导入informixdb模块
- PHP通过phpmailer批量发送邮件功能
- jsp窗口关闭的触发函数
- H5页面解决IOS进入不自动播放问题(微信内)
- 笔记:创建Jersey REST 服务,基于Maven
- MYSQL OR与AND同时出现的用法
- mysql知识点汇总
- haproxy 配置文件分析
- redis初始化服务器
- maven 如何依赖工程项目里面的 jar 包
- 【转载】【收藏】Github上免费的编程教程【作者Victor Felder】
- C# Split() 去除 \r\n 分组
- Java时间操作常用api
- 2007 Audi A4 INSTRUMENT CLUSTER WIRING DIAGRAM
- [BZOJ2961]共点圆-[凸包+cdq分治]