PHP魔术方法__ISSET、__UNSET使用实例


Posted in Python onNovember 25, 2014

__isset()

  ? 在对类中属性或者非类中属性使用isset()方法的时候如果没有或者非公有属性,则自动执行__isset()的方法

__unset()

- 在对类中属性或者非类中属性使用unset()方法的时候如果没有或者非公有属性,则自动执行__unset()的方法

<?php

    /**

     * 针对类中的魔术方法 __isset() 和 __unset() 的例子

     */
class Example {

    public $public;

    protected $protected;

    private $private;

    

    public function __construct(){

        $this->public = 'pub';

        $this->protected = 'pro';

        $this->private = 'pri';

    }

    

    public function __isset($var){

        echo '这里通过__isset()方法查看属性名为 '.$var."\n";

    }

    

    public function __unset($var){

        echo '这里通过__unset()方法要销毁属性名为 '.$var."\n";

    }

}
$exa = new Example;
echo '<pre>';

var_dump(isset($exa->public));

echo "\n";

var_dump(isset($exa->protected));

echo "\n";

var_dump(isset($exa->private));

echo "\n";

var_dump(isset($exa->noVar));

echo "\n";

echo '<hr/>';


unset($exa->public);

var_dump($exa);
echo "\n";

unset($exa->protected);

echo "\n";

unset($exa->private);

echo "\n";

unset($exa->noVar);

echo "\n";

结果如下:

bool(true)

这里通过__isset()方法查看属性名为 protected

bool(false)

这里通过__isset()方法查看属性名为 private

bool(false)

这里通过__isset()方法查看属性名为 noVar

bool(false)

object(Example)#1 (2) {

  ["protected:protected"]=>

  string(3) "pro"

  ["private:private"]=>

  string(3) "pri"

}

这里通过__unset()方法要销毁属性名为 protected

这里通过__unset()方法要销毁属性名为 private

这里通过__unset()方法要销毁属性名为 noVar

Python 相关文章推荐
python网络编程之数据传输UDP实例分析
May 20 Python
Python的Django框架下管理站点的基本方法
Jul 17 Python
举例简单讲解Python中的数据存储模块shelve的用法
Mar 03 Python
Python实现解析Bit Torrent种子文件内容的方法
Aug 29 Python
基于Python中capitalize()与title()的区别详解
Dec 09 Python
一个Python最简单的接口自动化框架
Jan 02 Python
python爬虫爬取某站上海租房图片
Feb 04 Python
Python对象中__del__方法起作用的条件详解
Nov 01 Python
Python简单过滤字母和数字的方法小结
Jan 09 Python
python实现文本进度条 程序进度条 加载进度条 单行刷新功能
Jul 03 Python
Python迭代器模块itertools使用原理解析
Dec 11 Python
python实现读取类别频数数据画水平条形图案例
Apr 24 Python
Python标准库之多进程(multiprocessing包)介绍
Nov 25 #Python
Python标准库之随机数 (math包、random包)介绍
Nov 25 #Python
Python标准库之循环器(itertools)介绍
Nov 25 #Python
Python标准库之sqlite3使用实例
Nov 25 #Python
Python标准库内置函数complex介绍
Nov 25 #Python
Python XML RPC服务器端和客户端实例
Nov 22 #Python
Python实现读取目录所有文件的文件名并保存到txt文件代码
Nov 22 #Python
You might like
详解php中 === 的使用
2016/10/24 PHP
共享自己写一个框架DreamScript
2007/01/20 Javascript
在一个form用一个SUBMIT(或button)分别提交到两个处理表单页面的代码
2007/02/15 Javascript
jquery tools之tooltip
2009/07/25 Javascript
js 面向对象的技术创建高级 Web 应用程序
2010/02/25 Javascript
JQuery从头学起第三讲
2010/07/06 Javascript
js模拟select下拉菜单控件的代码
2013/05/08 Javascript
深入理解Javascript里的依赖注入
2014/03/19 Javascript
jQuery代码实现发展历程时间轴特效
2015/07/30 Javascript
详解JavaScript的另类写法
2016/04/11 Javascript
JavaScript函数表达式详解及实例
2017/05/05 Javascript
微信小程序图片选择区域裁剪实现方法
2017/12/02 Javascript
Vue EventBus自定义组件事件传递
2018/06/25 Javascript
关于Vue Router中路由守卫的应用及在全局导航守卫中检查元字段的方法
2018/12/09 Javascript
vue-router命名路由和编程式路由传参讲解
2019/01/19 Javascript
layui的布局和表格的渲染以及动态生成表格的方法
2019/09/18 Javascript
原生js实现下拉选项卡
2019/11/27 Javascript
Vue实现背景更换颜色操作
2020/07/17 Javascript
Vue基于localStorage存储信息代码实例
2020/11/16 Javascript
[32:26]EG vs IG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[00:58]PWL开团时刻DAY5——十人开雾0换5
2020/11/04 DOTA
python将多个文本文件合并为一个文本的代码(便于搜索)
2011/03/13 Python
python错误处理详解
2014/09/28 Python
Windows下Python使用Pandas模块操作Excel文件的教程
2016/05/31 Python
python使用正则表达式替换匹配成功的组并输出替换的次数
2017/11/22 Python
python安装twisted的问题解析
2018/08/21 Python
python os.listdir按文件存取时间顺序列出目录的实例
2018/10/21 Python
使用python实现ftp的文件读写方法
2019/07/02 Python
python自动化实现登录获取图片验证码功能
2019/11/20 Python
使用python求斐波那契数列中第n个数的值示例代码
2020/07/26 Python
通过实例简单了解python yield使用方法
2020/08/06 Python
Clarins娇韵诗美国官网:法国天然护肤品牌
2016/09/26 全球购物
意大利奢侈品多品牌集合店:TheDoubleF
2019/08/24 全球购物
对公司合理化的建议书
2014/03/12 职场文书
见习期自我鉴定范文
2014/03/19 职场文书
升学宴学生答谢词
2015/01/05 职场文书