PHP魔术方法__GET、__SET使用实例

 更新时间:2014年11月25日 11:29:44   投稿:junjie  
这篇文章主要介绍了PHP魔术方法__GET、__SET使用实例,本文在代码中做了详细的注释,需要的朋友可以参考下

__get()  - 读取不可访问属性的值时,__get() 会被调用。

__set()  - 在给不可访问属性赋值时,__set() 会被调用。

复制代码 代码如下:

<?php

/**
 * 清晰的认识__get() __set()
 */
class Example {
   
    //公有的属性
    public $public = 'pub' ;
    //受保护的 - 子类中该属性可用
    protected $protected = 'pro';
    //私有的 - 只能此类使用此属性
    private $private = 'pri';
   
    //当访问对象中的属性不存在或者非公有属性的时候自动加载__get()方法
    public function __get($name){
        return '调用__get()方法:'.$name;
    }
   
    //当给对象的一个属性赋值的时候如果该属性不存在或者是非公有属性则自动加载__set()方法
    public function __set($name,$value){
        echo "\nname:".$name.',value:'.$value."\n";
    }
}

$example = new Example;
echo '<pre>';
echo $example->public."\n";
echo $example->protected."\n";
echo $example->private."\n";
echo $example->other."\n";
echo '<hr>';
$example->public = 'lic';   //这个赋值成功所有没有显示
$example->protected = 'tec';
$example->private = 'vat';
$example->other = 'er';
echo '<br/>';
echo '打印 public 属性:'.$example->public;

结果如下:

复制代码 代码如下:

pub
调用__get()方法:protected
调用__get()方法:private
调用__get()方法:other

name:protected,value:tec

name:private,value:vat

name:other,value:er

打印 public 属性:lic

相关文章

  • PHP中常见的缓存技术实例分析

    PHP中常见的缓存技术实例分析

    这篇文章主要介绍了PHP中常见的缓存技术,以实例形式较为详细的分析了php中缓存技术的原理、特点及使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-09-09
  • PHP后门隐藏的一些技巧总结

    PHP后门隐藏的一些技巧总结

    这篇文章主要介绍了关于PHP后门隐藏的一些技巧,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • PHP里的中文变量说明

    PHP里的中文变量说明

    一般在我们概念里变量都应该是有字母,数字,下划线组成,可在PHP下中文也可以作为变量的一部分,今天就要讲讲PHP的变量
    2011-07-07
  • php实现的AES加密类定义与用法示例

    php实现的AES加密类定义与用法示例

    这篇文章主要介绍了php实现的AES加密类定义与用法,结合完整实例形式分析了基于php的AES加密类实现及使用方法,需要的朋友可以参考下
    2018-01-01
  • PHP中你可能忽略的性能优化利器:生成器

    PHP中你可能忽略的性能优化利器:生成器

    性能优化是我们开发中必不可少的一部分,下面这篇文章主要给大家介绍了关于PHP中你可能忽略的性能优化利器:生成器的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-12-12
  • mac pecl 安装php7.1扩展教程

    mac pecl 安装php7.1扩展教程

    今天小编就为大家分享一篇mac pecl 安装php7.1扩展教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • php保存任意网络图片到服务器的方法

    php保存任意网络图片到服务器的方法

    这篇文章主要介绍了php保存任意网络图片到服务器的方法,涉及php通过curl操作远程图片的技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • js+php实现静态页面实时调用用户登陆状态的方法

    js+php实现静态页面实时调用用户登陆状态的方法

    这篇文章主要介绍了js+php实现静态页面实时调用用户登陆状态的方法,采用在静态页面中使用js调用php页面从而实现用户登录状态的实时调用功能,需要的朋友可以参考下
    2015-01-01
  • PHP中的浅复制与深复制的实例详解

    PHP中的浅复制与深复制的实例详解

    这篇文章主要介绍了PHP中的浅复制与深复制的实例详解的相关资料,希望通过本文能帮助到大家,让大家理解掌握这部分内容,需要的朋友可以参考下
    2017-10-10
  • PHP提示Deprecated: mysql_connect(): The mysql extension is deprecated的解决方法

    PHP提示Deprecated: mysql_connect(): The mysql extension is d

    这篇文章主要介绍了PHP提示Deprecated: mysql_connect(): The mysql extension is deprecated的解决方法,是在进行PHP数据库程序开发中常会遇到的错误,需要的朋友可以参考下
    2014-08-08

最新评论