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

來源:互聯網
上載者:User
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中文網。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.