zoukankan      html  css  js  c++  java
  • __get__set__isset__unset 简单

    <?php
    header("Content-type:text/html; charset:utf-8");
    //PHP面向对象__get(), __set()的用法
    /*一般来说,总是把类的属性定义为private,这更符合现实的逻辑。但是,对属性的读取和赋值操作是非常频繁的,因此在PHP5中,预定义了两个函数“__get()”和“__set()”来获取和赋值其属性,以及检查属性的“__isset()”和删除属性的方法“__unset()”。*/
    
    class Person
    {
    	private $name;
    	private $sex;
    	private $age;
    
    	private function __get($property_name)
    	{
    		echo "直接获取私有属性的时候,自动调用__get<BR>";
    		if(isset($this->$property_name)){
    			return ($this->$property_name);
    		}else
    		    return (null);
    	}
    
    	private function __set($proeprty, $val)
    	{
    		echo "直接设置私有属性的时候,自动调用__set<BR>";
            $this->$proeprty = $val;
    	}
    
    	private function __isset($name)
    	{
    		echo "isset()函数测试私有成员时,自动调用<BR>";
    		return isset($this->$name);
    	}
    
    	private function __unset($name)
    	{
    		echo "unset()删除私有成员时自动调用<BR>";
    		unset($this->$name);
    	}
    }
    $p1 = new Person();
    $p1->name = "xlc";
    $p1->sex = '男';
    $p1->age = 22;
    
    echo $p1->name;
    echo $p1->sex;
    echo $p1->age;
    isset($p1->name);
    unset($p1->name);
    
    ?>
    

      

  • 相关阅读:
    160726 smarty 笔记(2)
    160726 smarty 笔记(1)
    smarty内置函数
    smarty变量调节器
    smarty基础原理
    【Django】:基础
    【十八章】:Web框架
    汇总
    jQuery
    DOM
  • 原文地址:https://www.cnblogs.com/xiangxiaodong/p/2927483.html
Copyright © 2011-2022 走看看