zoukankan      html  css  js  c++  java
  • php面向对象之__isset和__unset

    php面向对象之__isset和__unset

    一、简介

    __isset和__unset都是对不可访问属性的操作,前者是检验的时候自动调用,后者是销毁的时候自动调用。

    比如说在类外访问private的时候就会出现不可访问属性。

    二、代码

     1 <?php
     2 /*
     3  * __isset:当外部调用isset()函数检测不可访问的属性或者不存在的属性时自动调用
     4    __unset:当在类外部调用unset销毁不可访问属性时自动调用
     5  * */
     6 class Person{
     7     private $userName;
     8     private $age;
     9     public $abc;
    10     public function __construct($userName,$age){
    11         $this->userName = $userName;
    12         $this->age = $age;
    13     }
    14     public function __isset($name){
    15         echo '当外部调用isset()函数检测不可访问的属性或者不存在的属性时自动调用';
    16         return isset($name);
    17     }
    18     public function __unset($name){
    19         echo '当在类外部调用unset销毁不可访问属性时自动调用';
    20         unset($name);
    21     }
    22 }
    23 $p = new Person('Clive',15);
    24 var_dump(isset($p->abc));
    25 echo '<hr/>';
    26 unset($p->abc);

     调用public属性,也就是可访问属性的时候,__isset和__unset都不会被访问到。

  • 相关阅读:
    迭代器
    关于文章cisco漏洞4786
    Python学习目录
    Python的xml模块
    【JS30】Event Capture, Propagation, Bubbling and Once
    mysql安装
    CS193P 第四课笔记 · Hexo
    CSS变量
    在CentOS7上开启和挂载NFS共享
    《Android 编程实战》Chap5_重识IPC
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/8546928.html
Copyright © 2011-2022 走看看