arrayAccess的接口使用

<?php
    //get the methods instance of ArrayAccess
    //get the properties instance of ArrayAccess
    $reflection = new ReflectionClass(‘ArrayAccess‘);
    //var_dump($reflection->getMethods());
    //var_dump($reflection->getProperties());

    class dbTypes implements ArrayAccess{
        private $dbtypes = array();

        //判定是否存在
        public function offsetExists($offset){
            return isset($this->dbtypes[$offset]) ? true : false;
        }
        //获取一个值
        public function offsetGet($offset){
            if($this->offsetExists($offset)){
                return $this->dbtypes[$offset];
            }else{
                return null;
            }
        }
        //设置一个值
        public function offsetSet($offset,$value){
                $this->dbtypes[$offset] = $value;
        }
        //删除一个值
        public function offsetUnset($offset){
            unset($this->dbtypes[$offset]);
        }
    }

    $types = new dbTypes();
    echo $types[‘nosql‘];
时间: 2024-07-31 16:26:20

arrayAccess的接口使用的相关文章

PHP预定义接口之 ArrayAccess

最近这段时间回家过年了,博客也没有更新,感觉少学习了好多东西,也错失了好多的学习机会,就像大家在春节抢红包时常说的一句话:一不留神错过了好几亿.废话少说,这篇博客给大家说说关于PHP预定义接口中常用到的重量级人物: ArrayAccess.大家也许会问,最基本.最常用的预定义接口有6个呢,为啥非得说这个.从日常的使用情况来看:这个出现的频率非常高,特别是在框架中,比如Laravel.Slim等都会用到,并且用得非常经典,让人佩服啊.从技术上说:说实话其他的我用的少啊!只是知道简单的用法,对他的理

SPL 笔记

PHP  SPL是指 standard  php library,php标准库. SPL提供了一系列的类和接口,使用这些类和接口,我们可以更加高效.优雅的使用php进行程序设计. 从php5.0开始,已经支持spl.从5.3开始,SPL已经嵌入PHP内核,无需任何配置 php提供了下列的数据结构类: SplDoublyLinkedList  :双向链表 , 实现了 Iterator|ArrayAccess|Countable接口中的方法 SplStack: 栈 SplQueue: 队列 SplH

laravel框架容器管理的一些要点

本文面向php语言的laravel框架的用户,介绍一些laravel框架里面容器管理方面的使用要点.文章很长,但是内容应该很有用,希望有需要的朋友能看到.php经验有限,不到位的地方,欢迎帮忙指正. 1. laravel容器基本认识 laravel框架是有一个容器框架,框架应用程序的实例就是一个超大的容器,这个实例在bootstrap/app.php内进行初始化: 这个文件在每一次请求到达laravel框架都会执行,所创建的$app即是laravel框架的应用程序实例,它在整个请求生命周期都是唯

[php]laravel框架容器管理的一些要点

本文面向php语言的laravel框架的用户,介绍一些laravel框架里面容器管理方面的使用要点.文章很长,但是内容应该很有用,希望有需要的朋友能看到.php经验有限,不到位的地方,欢迎帮忙指正. 1. laravel容器基本认识 laravel框架是有一个容器框架,框架应用程序的实例就是一个超大的容器,这个实例在bootstrap/app.php内进行初始化: 这个文件在每一次请求到达laravel框架都会执行,所创建的$app即是laravel框架的应用程序实例,它在整个请求生命周期都是唯

laravel框架容器管理的一些要点(转)

本文面向php语言的laravel框架的用户,介绍一些laravel框架里面容器管理方面的使用要点.文章很长,但是内容应该很有用,希望有需要的朋友能看到.php经验有限,不到位的地方,欢迎帮忙指正. 1. laravel容器基本认识 laravel框架是有一个容器框架,框架应用程序的实例就是一个超大的容器,这个实例在bootstrap/app.php内进行初始化: 这个文件在每一次请求到达laravel框架都会执行,所创建的$app即是laravel框架的应用程序实例,它在整个请求生命周期都是唯

PHP处理二维数组合并 时间复杂度O(n)

一直没怎么写博客,感觉很多东西都遗忘, 在写ArrayAccess同时把时间复杂度温习下 ,这篇博客给大家说说关于PHP预定义接口中常用到的重量级人物: ArrayAccess.大家也许会问,最基本.最常用的预定义接口有6个呢,为啥非得说这个.从日常的使用情况来看:这个出现的频率非常高,特别是在框架中,比如Laravel.Slim等都会用到,并且用得非常经典,让人佩服啊.从技术上说:说实话其他的我用的少啊!只是知道简单的用法,对他的理解比较浅显,不敢在这里误导大家,哈哈!今天我要写的内容也不一定

PHP的ArrayAccess接口介绍

在 PHP5 中多了一系列新接口.在 HaoHappy 翻译的你可以了解到他们的应用.同时这些接口和一些实现的 Class 被归为 Standard PHP Library(SPL).在 PHP5 中加入了很多特性,使类的重载 (Overloading) 得到进一步的加强.ArrayAccess 的作用是使你的 Class 看起来像一个数组(PHP 的数组).这点和 C# 的 Index 特性很相似. 下面是 ArrayAccess 的定义: interface ArrayAccess bool

ArrayAccess(数组式访问)接口

接口摘要  ArrayAccess { /* 方法 */ 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 ) }

PHP预定义接口中 ArrayAccess 数组式访问接口

<?php class obj implements arrayaccess { private $container = array(); public function __construct () { $this -> container = array( "one" => 1 , "two" => 2 , "three" => 3 , ); } public function offsetSet ( $off