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字符串处理之count()方法的使用
May 18 Python
Python排序算法实例代码
Aug 10 Python
python实现决策树分类算法
Dec 21 Python
Flask框架各种常见装饰器示例
Jul 17 Python
总结Python图形用户界面和游戏开发知识点
May 22 Python
python之PyQt按钮右键菜单功能的实现代码
Aug 17 Python
pytorch如何冻结某层参数的实现
Jan 10 Python
Python调用Windows命令打印文件
Feb 07 Python
通过实例解析Python return运行原理
Mar 04 Python
python3.8.1+selenium实现登录滑块验证功能
May 22 Python
Python os库常用操作代码汇总
Nov 03 Python
python爬虫中url管理器去重操作实例
Nov 30 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
追忆往昔!浅谈收音机的百年发展历史
2021/03/01 无线电
PHP使用redis实现统计缓存mysql压力的方法
2015/11/14 PHP
在php中设置session用memcache来存储的方法总结
2016/01/14 PHP
Laravel 5.3 学习笔记之 配置
2016/08/28 PHP
php fseek函数读取大文件两种方法
2016/10/12 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
2020/03/26 PHP
浅谈jQuery页面的滚动位置scrollTop、scrollLeft
2015/05/19 Javascript
javascript中类的定义方式详解(四种方式)
2015/12/22 Javascript
浅谈JS运算符&amp;&amp;和|| 及其优先级
2016/08/10 Javascript
详谈Ajax请求中的async:false/true的作用(ajax 在外部调用问题)
2017/02/10 Javascript
vue服务端渲染的实例代码
2017/08/28 Javascript
vue 实现axios拦截、页面跳转和token 验证
2018/07/17 Javascript
layui点击按钮添加可编辑的一行方法
2018/08/15 Javascript
前端Electron新手入门教程详解
2019/06/21 Javascript
Vue配置marked链接添加target=&quot;_blank&quot;的方法
2019/07/19 Javascript
vue解决花括号数据绑定不成功的问题
2019/10/30 Javascript
实现一个Vue自定义指令懒加载的方法示例
2020/06/04 Javascript
如何用JS模拟实现数组的map方法
2020/07/30 Javascript
python简单实现基数排序算法
2015/05/16 Python
Python中map和列表推导效率比较实例分析
2015/06/17 Python
详解Python3中的Sequence type的使用
2015/08/01 Python
浅谈对yield的初步理解
2017/05/29 Python
Python3 使用cookiejar管理cookie的方法
2018/12/28 Python
python threading和multiprocessing模块基本用法实例分析
2019/07/25 Python
django使用xadmin的全局配置详解
2019/11/15 Python
Python3.9又更新了:dict内置新功能
2020/02/28 Python
python如何从键盘获取输入实例
2020/06/18 Python
巴西箱包、背包、钱包和旅行配件购物网站:Inovathi
2019/12/14 全球购物
机械设计及其自动化专业推荐信
2013/10/31 职场文书
个人简历中的自我评价怎么写
2014/01/26 职场文书
政府信息公开实施方案
2014/05/09 职场文书
影视广告专业求职信
2014/09/02 职场文书
2015年幼儿园保育员工作总结
2015/04/23 职场文书
创新创业项目计划书该怎样写?
2019/08/13 职场文书
Mysql Show Profile
2021/04/05 MySQL
详解CocosCreator消息分发机制
2021/04/16 Javascript