>  기사  >  백엔드 개발  >  PHP의 사전 정의된 인터페이스인 ArrayAccess를 사용하는 방법을 설명합니다.

PHP의 사전 정의된 인터페이스인 ArrayAccess를 사용하는 방법을 설명합니다.

jacklove
jacklove원래의
2018-06-08 11:46:471847검색

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으로 문의하세요.