• __set(),__get() 魔术方法示例


    <?php

    class Ren
    {
    private $name;
    private $age;
    private $sex;
    function __set($name,$value)
    {
    if($name == "age")
    {
    if($value < 50 && $value > 10)
    {
    $this->$name = $value;
    }
    }
    else
    {
    $this->$name = $value;
    }
    }
    function __get($name)
    {
    return $this->$name;
    }

    function __destruct()
    {
    echo "结束啦。对象销毁";
    }

    }

    $r = new Ren();
    $r->name = "张三";
    $r->age = 30;
    $r->sex="女";
    var_dump($r);
    echo $r->age;

    //面向对象的三大特性
    //1.封装
    //1)目的:让类更加安全,不让外界直接访问类里面的成员变量
    //2)做一个方法来实现变量取值或赋值,在方法里加限制条件
    //使用类里面的魔术方法实现对私有成员的操作
    //__set()特性:自动执行,把赋值语句中的变量作为第一个参数,把赋值语句中的变量值作为第二个参数,调用__set()方法
    //__get()特性:自动执行,把取值语句中的变量作为参数调用__get方法

    //小结:对private类私有成员的操作,只需假如__set(),__get()函数即可。


    //2.继承
    //3.多态


    ?>

  • 相关阅读:
    $_SERVER
    下面介绍mysql中模糊查询的四种用法:
    qq第三方登录
    远程连接数据库出错
    lnmp中的tp的pathinfo模式
    TP5配置所谓的url_moudel
    tp3.2.3中的xss攻击基本防护
    tp中的Csv文件读取(原创)
    mysql语句整理
    SVN的详细使用
  • 原文地址:https://www.cnblogs.com/wanlibingfeng/p/5440368.html
Copyright © 2020-2023  润新知