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預定義介面之ArrayAccess的使用方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!