Laravel 源码笔记 PHP 预定义接口 ArrayAccess
说明
laravel 中可通过 $app['events']
获取 events
实例,正因为 $app (服务容器)
实现了 ArrayAccess
接口。
定义
ArrayAccess
是 PHP 预定义 interface
,官方的定义:提供访问对象作为数组的接口。
ArrayAccess{
//abstract 抽象 ; mixed 混合类型 ;void 无返回值
abstract public offsetExists ( mixed $offset ) : bool
abstract public offsetGet ( mixed $offset ) : mixed
abstract public offsetSet ( mixed $offset , mixed $value ) : void
abstract public offsetUnset ( mixed $offset ) : void
}
使用
use ArrayAccess;
class Foo implements ArrayAccess
{
public function offsetExists( $offset ) {
// 自定义
}
public function offsetGet( $offset ) {
// 自定义
}
public function offsetSet( $offset, $value ) {
// 自定义
}
public function offsetUnset( $offset ) {
// 自定义
}
}
$foo = new Foo();
isset( $foo['key'] ); ----调用----> offsetExists( $offset )
$foo['key']; ----调用----> offsetGet( $offset )
$foo['key'] = 'value'; ----调用----> offsetSet( $offset, $value )
unset( $foo['key'] ); ----调用----> offsetUnset( $offset )
本作品采用《CC 协议》,转载必须注明作者和本文链接