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

 更新时间:2010年10月12日 22:58:23   作者:   我要评论
如果想让对象使用起来像一个 PHP 数组,那么我们需要实现 ArrayAccess 接口
复制代码 代码如下:

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() 方法。

相关文章

  • dirname(__FILE__)的含义和应用说明

    dirname(__FILE__)的含义和应用说明

    这篇文章主要介绍了dirname(__FILE__)的含义和应用说明,需要的朋友可以参考下
    2018-03-03
  • php防止sql注入简单分析

    php防止sql注入简单分析

    这篇文章主要介绍了php防止sql注入的方法,简单分析了通过stripslashes及mysql_real_escape_string函数进行字符转移处理的技巧,非常具有实用价值,需要的朋友可以参考下
    2015-03-03
  • PHP输入流php://input实例讲解

    PHP输入流php://input实例讲解

    这篇文章主要介绍了PHP输入流php://input实例讲解,分别举例对输入流php://input进行深入学习,感兴趣的小伙伴们可以参考一下
    2015-12-12
  • PHP中simplexml_load_string函数使用说明

    PHP中simplexml_load_string函数使用说明

    这个问题遇到好几次了,今天翻看以前代码的时候看到,便记下来,需要的朋友可以参考下。
    2011-01-01
  • php图片上传存储源码并且可以预览

    php图片上传存储源码并且可以预览

    php图片上传存储源码并且可以预览,学习php的朋友可以参考下。
    2011-08-08
  • php倒计时出现-0情况的解决方法

    php倒计时出现-0情况的解决方法

    这篇文章主要介绍了php倒计时出现-0情况的解决方法,实例分析了php倒计时程序出现-0的原因及相应的解决方法,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-07-07
  • PHP 日常开发小技巧

    PHP 日常开发小技巧

    在php的开发过程中的一些小技巧,经常能遇到的一些。需要的朋友可以参考下。
    2009-09-09
  • php启用sphinx全文搜索的实现方法

    php启用sphinx全文搜索的实现方法

    这篇文章主要介绍了php启用sphinx全文搜索的实现方法,详细讲述了sphinx相关的配置与使用技巧,具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-12-12
  • PHP处理postfix邮件内容的方法

    PHP处理postfix邮件内容的方法

    这篇文章主要介绍了PHP处理postfix邮件内容的方法,涉及php读取、正则匹配邮件内容的相关技巧,需要的朋友可以参考下
    2015-06-06
  • php include,include_once,require,require_once

    php include,include_once,require,require_once

    其实PHP包含文件的这四个函数,很多人还是没完全明白的,虽然用的时候多,但是具体某些地方该怎么用,用那一个,我就献丑一把.
    2008-09-09

最新评论