首頁  >  文章  >  後端開發  >  講解PHP預定義介面之ArrayAccess的使用方法

講解PHP預定義介面之ArrayAccess的使用方法

jacklove
jacklove原創
2018-06-08 11:46:471789瀏覽

PHP5之後新加入了一系列預定義接口,這些接口和實作的類別統稱為SPL。這些介面中就有一個重量級介面ArrayAccess,它的作用是讓你的物件可以像陣列一樣被存取。

介面簡介,使用ArrayAccess方法需要定義四個方法。

ArrayAccess {
    /* Methods */
    abstract public boolean offsetExists ( mixed $offset )
    abstract public mixed offsetGet ( mixed $offset )
    abstract public void offsetSet ( mixed $offset , mixed $value )
    abstract public void offsetUnset ( mixed $offset )
}

下面給出了該介面在Slim中的具體實作。 Slim中定義了一個集合類別Collection,該類別提供了對集合物件的通用介面方法。其中該類別繼承的CollectionInterface接口,就繼承了ArrayAccess預定義接口。

/**
* 集合接口,在容器的设置中传入一个数组,返回一个Collection对象。
* Collection InterfaceCollectionInterface
* @package Slim
* @since   3.0.0
 */
interface CollectionInterface extends \ArrayAccess, \Countable, \IteratorAggregate{   
    public function set($key, $value);
    public function get($key, $default = null);
    public function replace(array $items);
    public function all();
    public function has($key);
    public function remove($key);
    public function clear();
} 说一下,Slim框架的Collection类。在Slim的容器Contianer中合并容器的默认配置$defaultSetting(类的私有变量)和用户配置$userSetting(日志,模板,数据库配置等)之后,会返回了一个集合对象Collection。由于该集合对象继承了ArrayAccess,我们在将配置文件依次加载后,就可以像操作数组一样操作它啦。

本篇講解了PHP預定義介面之ArrayAccess的使用方法,此方法在php中有著重要的作用,更多相關內容請關注php中文網。

相關推薦:

介紹PHP檔案命名、類別與方法的命名、變數的命名等規格

如何解決php查詢到的資料亂碼的問題

講解php字串的有序拆分的相關操作

以上是講解PHP預定義介面之ArrayAccess的使用方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn