博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数组访问-ArrayAccess
阅读量:6126 次
发布时间:2019-06-21

本文共 2066 字,大约阅读时间需要 6 分钟。

以前对ArrayAccess不是很熟悉,现在整理下下有关ArrayAccess相关的知识,ArrayAccess接口就是提供像访问数组一样访问对象的能力的接口。

接口内容如下:(PHP自含此接口类,可通过手册查看,配置文件直接读取即可)

1 interface ArrayAccess{2     public function offsetExists($offset);3     public function offsetGet($offset);4     public function offsetSet($offset,$value);5     public function offsetUnset($offset);6 }

配置程序:

我们可以通过ArrayAccess利用配置文件来控制程序。

1. 在项目更目录下创建一个config目录 

2. config目录下创建相应的配置文件,比如app.php database.php。文件程序如下

app.php

1 
'app name', 5 'version' => 'v1.0.0' 6 ]; 7 db.php 8
[12 'host' => 'localhost',13 'user' => 'root',14 'password' => '12345678'15 ]16 ];

3. Config.php实现ArrayAccess

1 
_path = __DIR__.'/../config/';13 }14 15 /**16 * 实现实例化自身对象功能17 * @return Config18 */19 public static function instance(){20 if (!(self::$instance instanceof Config)) {21 self::$instance = new Config();22 }23 return self::$instance;24 }25 26 /**27 * 设置28 * @param mixed $key29 * @param mixed $val30 */31 public function offsetSet($key, $val)32 {33 $this->config[$key] = $val;34 }35 36 /**37 * 判断key在不在配置文件数组38 * @param mixed $key39 * @param mixed $val40 */41 public function offsetExists($key)42 {43 return isset($this->config[$key]);44 }45 46 /**47 * 销毁配置内某个key48 * @param mixed $key49 */50 public function offsetUnset($key)51 {52 unset($this->config[$key]);53 }54 55 /**56 * 获取数据值得时候加载57 * @param mixed $key58 * @return mixed|null59 */60 public function offsetGet($key)61 {62 if (empty($this->config[$key])) {63 $this->config[$key] = require $this->_path.$key.".php";64 }65 66 return isset($this->config[$key]) ? $this->config[$key] : null;67 }68 }69 70 71 //入口配置文件 读取72 73 include '../app/model/Config.php';74 $config = Config::instance();75 var_dump($config['db']['mysql']);76 exit;

 

转载于:https://www.cnblogs.com/BrokenHeart/p/10681340.html

你可能感兴趣的文章
eclipse的maven、Scala环境搭建
查看>>
架构师之路(一)- 什么是软件架构
查看>>
jquery的冒泡和默认行为
查看>>
USACO 土地购买
查看>>
【原创】远景能源面试--一面
查看>>
B1010.一元多项式求导(25)
查看>>
10、程序员和编译器之间的关系
查看>>
前端学习之正则表达式
查看>>
配置 RAILS FOR JRUBY1.7.4
查看>>
AndroidStudio中导入SlidingMenu报错解决方案
查看>>
修改GRUB2背景图片
查看>>
Ajax异步
查看>>
好记性不如烂笔杆-android学习笔记<十六> switcher和gallery
查看>>
JAVA GC
查看>>
codeforce 599B Spongebob and Joke
查看>>
3springboot:springboot配置文件(外部配置加载顺序、自动配置原理,@Conditional)
查看>>
9、Dubbo-配置(4)
查看>>
前端第七天
查看>>
BZOJ 2190[SDOI2008]仪仗队
查看>>
图解SSH原理及两种登录方法
查看>>