PHP 的ArrayAccess接口 像数组一样来访问你的PHP对象


Posted in PHP onOctober 12, 2010
interface ArrayAccess 
boolean offsetExists($index) 
mixed offsetGet($index) 
void offsetSet($index, $newvalue) 
void offsetUnset($index)

下面的例子展示了如何使用这个接口,例子并不是完整的,但是足够看懂,:->
<?php 
class UserToSocialSecurity implements ArrayAccess 
{ 
private $db;//一个包含着数据库访问方法的对象 
function offsetExists($name) 
{ 
return $this->db->userExists($name); 
} 
function offsetGet($name) 
{ 
return $this->db->getUserId($name); 
} 
function offsetSet($name, $id) 
{ 
$this->db->setUserId($name, $id); 
} 
function offsetUnset($name) 
{ 
$this->db->removeUser($name); 
} 
} 
$userMap = new UserToSocialSecurity(); 
print "John's ID number is " . $userMap['John']; 
?>

实际上,当 $userMap['John'] 查找被执行时,PHP 调用了 offsetGet() 方法,由这个方法再来调用数据库相关的 getUserId() 方法。
PHP 相关文章推荐
php中计算时间差的几种方法
Dec 31 PHP
php 数组的指针操作实现代码
Feb 08 PHP
PHP的可变变量名的使用方法分享
Feb 05 PHP
浅析PHP中Collection 类的设计
Jun 21 PHP
php检测iis环境是否支持htaccess的方法
Feb 18 PHP
解决PhpMyAdmin中导入2M以上大文件限制的方法分享
Jun 06 PHP
php解析json数据实例
Aug 19 PHP
php实现微信公众平台账号自定义菜单类
Dec 02 PHP
php提交表单发送邮件的方法
Mar 20 PHP
php实现图片转换成ASCII码的方法
Apr 03 PHP
利用php的ob缓存机制实现页面静态化方法
Jul 09 PHP
PHP实现防盗链的方法分析
Jul 25 PHP
php中去除所有js,html,css代码
Oct 12 #PHP
PHP入门学习笔记之一
Oct 12 #PHP
PHP 显示客户端IP与服务器IP的代码
Oct 12 #PHP
约瑟夫环问题的PHP实现 使用PHP数组内部指针操作函数
Oct 12 #PHP
使用PHP 5.0创建图形的巧妙方法
Oct 12 #PHP
POSIX 风格和兼容 Perl 风格两种正则表达式主要函数的类比(preg_match, preg_replace, ereg, ereg_replace)
Oct 12 #PHP
献给php初学者(入门学习经验谈)
Oct 12 #PHP
You might like
一个PHP日历程序
2006/12/06 PHP
Codeigniter实现处理用户登录验证后的URL跳转
2014/06/12 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
2018/06/13 PHP
Javascript与vbscript数据共享
2007/01/09 Javascript
js电信网通双线自动选择技巧
2008/11/18 Javascript
JS检测图片大小的实例
2013/08/21 Javascript
js实现div闪烁原理及实现代码
2014/06/24 Javascript
谈谈js中的prototype及prototype属性解释和常用方法
2015/11/25 Javascript
基于BootStrap Metronic开发框架经验小结【四】Bootstrap图标的提取和利用
2016/05/12 Javascript
JS 动态判断PC和手机浏览器实现代码
2016/09/21 Javascript
Vue概念及常见命令介绍(1)
2016/12/08 Javascript
javascript实现二叉树遍历的代码
2017/06/08 Javascript
了解JavaScript函数中的默认参数
2019/05/30 Javascript
微信小程序仿抖音视频之整屏上下切换功能的实现代码
2020/05/24 Javascript
Vue+element+cookie记住密码功能的简单实现方法
2020/09/20 Javascript
小程序自定义弹框效果
2020/11/16 Javascript
基于Python的身份证号码自动生成程序
2014/08/15 Python
python编写简单爬虫资料汇总
2016/03/22 Python
Python内置的HTTP协议服务器SimpleHTTPServer使用指南
2016/03/30 Python
Python使用Turtle模块绘制五星红旗代码示例
2017/12/11 Python
Python实现PS滤镜的旋转模糊功能示例
2018/01/20 Python
python获取微信小程序手机号并绑定遇到的坑
2018/11/19 Python
10 分钟快速入门 Python3的教程
2019/01/29 Python
python 列表输出重复值以及对应的角标方法
2019/06/11 Python
Django在admin后台集成TinyMCE富文本编辑器的例子
2019/08/09 Python
pytorch 实现将自己的图片数据处理成可以训练的图片类型
2020/01/08 Python
通过Python扫描代码关键字并进行预警的实现方法
2020/05/24 Python
python连接mysql数据库并读取数据的实现
2020/09/25 Python
Python爬虫之App爬虫视频下载的实现
2020/12/08 Python
新西兰最大的天然保健及护肤品网站:HealthPost(直邮中国)
2021/02/13 全球购物
奉献演讲稿范文
2014/05/21 职场文书
重阳节演讲稿:尊敬帮助老人 弘扬传统美德
2014/09/25 职场文书
公安局副政委班子个人对照检查材料
2014/10/04 职场文书
2014年平安建设工作总结
2014/11/19 职场文书
创业计划书之个人工作室
2019/08/22 职场文书
VW、VH适配移动端的解决方案与常见问题
2023/05/21 HTML / CSS