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

2015-01-24信息快讯网

这篇文章主要介绍了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使用正则表达式获取图片url的方法
php截取html字符串及自动补全html标签的方法
php在linux下检测mysql同步状态的方法
将FCKeditor导入PHP+SMARTY的实现方法
php通过Chianz.com获取IP地址与地区的方法
PHP PDO fetch 模式各种参数的输出结果一览
php中Socket创建与监听实现方法
php中socket通信机制实例详解
php进行支付宝开发中return_url和notify_url的区别分析
腾讯微博提示missing parameter errorcode 102 错误的解决方法
PHP中使用file_get_contents抓取网页中文乱码问题解决方法
php中get_meta_tags()、CURL与user-agent用法分析
yii中widget的用法
Yii核心组件AssetManager原理分析
PHP使用get_headers函数判断远程文件是否存在的方法
php中fgetcsv()函数用法实例
浅析php单例模式
php字符串截取函数用法分析
ThinkPHP提交表单时默认自动转义的解决方法
使用PHP Socket 编程模拟Http post和get请求
Thinkphp搭建包括JS多语言的多语言项目实现方法
thinkphp判断访客为手机端或PC端的方法
ThinkPHP公共配置文件与各自项目中配置文件组合的方法
php使用str_replace实现输入框回车替换br的方法
PHP通过内置函数memory_get_usage()获取内存使用情况
php中ob_get_length缓冲与获取缓冲长度实例
php中getservbyport与getservbyname函数用法实例
php中current、next与reset函数用法实例
getimagesize获取图片尺寸实例
php中使用session_set_save_handler()函数把session保存到MySQL数据库实例
PHP中ini_set与ini_get用法实例
set_exception_handler函数在ThinkPHP中的用法
ThinkPHP后台首页index使用frameset时的注意事项分析
©2014-2024 dbsqp.com