欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-06-03 10:21:50
复制代码 代码如下: interface arrayaccess boolean offsetexists($index) mixed offsetget($index)...
复制代码 代码如下:

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