ホームページ  >  記事  >  バックエンド開発  >  PHP の定義済みインターフェイスである ArrayAccess の使用方法を説明する

PHP の定義済みインターフェイスである ArrayAccess の使用方法を説明する

jacklove
jackloveオリジナル
2018-06-08 11:46:471846ブラウズ

PHP5 以降、一連の定義済みインターフェイスが追加されました。これらのインターフェイスと実装されたクラスは、総称して SPL と呼ばれます。これらのインターフェイスの中には、オブジェクトに配列のようにアクセスできるようにする強力なインターフェイスである ArrayAccess があります。

インターフェイスの紹介では、ArrayAccess メソッドを使用するには 4 つのメソッドを定義する必要があります。

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 の中国語 Web サイトを参照してください。

関連する推奨事項:

PHP ファイルの命名、クラスとメソッドの命名、変数の命名などを紹介します。

PHP によってクエリされたデータが文字化けする問題を解決する方法

PHP 文字列の規則的な分割に関連する操作について説明します

以上がPHP の定義済みインターフェイスである ArrayAccess の使用方法を説明するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。