博客列表 >创建类,使用魔术查询__get()及魔术方法设置__set()—2018年5月3日09:27:45

创建类,使用魔术查询__get()及魔术方法设置__set()—2018年5月3日09:27:45

清雨的博客
清雨的博客原创
2018年05月03日 09:30:10635浏览


类文件:

./class/Admin.php

实例

<?php

/**
 * Created by PhpStorm.
 * User: 清雨
 * Date: 2018/5/3
 * Time: 8:50
 */
class Admin
{
    private $name;
    private $age;
    public function __construct($name,$age)
    {
        $this -> name = $name;
        $this -> age  = $age;
    }
    public function __get($name)
    {
        $msg = null;
        if (isset($this->$name)) {
            $msg = $this ->$name;
        } elseif (isset($this->data[$name])){
            $msg = $this -> data[$name];
        } else {
            $msg = '无此属性';
        }
        return $msg;
    }
    public function __set($name, $value)
    {
        if (isset($this ->$name)){
            $this -> $name = $value;
        } else {
            $this->data[$name] = $value;
        }
    }
}

运行实例 »

点击 "运行实例" 按钮查看在线实例

index.php

实例

<?php
/**
 * Created by PhpStorm.
 * User: 清雨
 * Date: 2018/5/3
 * Time: 9:12
 */
require './class/Admin.php';
$admin = new admin('张无忌',31);
echo '姓名:',$admin ->name.'<br>';
echo '年龄:',$admin ->age;
echo '<hr>';
$admin -> name = '金毛狮王';
$admin -> age  = 60;
echo '姓名:',$admin ->name.'<br>';
echo '年龄:',$admin ->age;

运行实例 »

点击 "运行实例" 按钮查看在线实例

效果图:

12.png

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议