首页 > Web开发 > 详细

php魔术方法

时间:2015-12-17 12:47:01      阅读:107      评论:0      收藏:0      [点我收藏+]
<?php

header("Content-type:text/html;charset=utf-8");

class Person {

    //下面是人的成员属性,都是封装的私有成员
    private $name;      //人的名子
    private $sex;       //人的性别
    private $age;       //人的年龄

    //__get()方法用来获取私有属性  
    public function __get($property_name) {
        echo "在直接获取私有属性值的时候,自动调用了这个__get()方法<br>";
        if (isset($this->$property_name)) {
            return($this->$property_name);
        } else {
            return(NULL);
        }
    }

    //__set()方法用来设置私有属性
    public function __set($property_name, $value) {
        echo "在直接设置私有属性值的时候,自动调用了这个__set()方法为私有属性赋值<br>";
        $this->$property_name = $value;
    }

    //__call调用未定义的方法执行
    public function __call($name, $arguments) {
        echo "你所调用的函数:$name(参数:<br />";
        var_dump($arguments);
        echo ")不存在!";
    }

    //__callStatic 当调用的静态方法不存在或权限不足时,会自动调用__callStatic方法。
    public function __callStatic($name, $arguments) {
        echo "你所调用的静态函数:$name(参数:<br />";
        var_dump($arguments);
        echo ")不存在!";
    } 
}

$p1 = new Person();
//直接为私有属性赋值的操作,会自动调用__set()方法进行赋值
$p1->name = "张三";
$p1->sex = "男";
$p1->age = 20;

  

php魔术方法

原文:http://www.cnblogs.com/objectboy/p/5053368.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!