php以数组形式获得配置文件数据示例详解
来源:互联网 发布:100教育网络辅导 编辑:程序博客网 时间:2024/05/29 00:31
database.php,getdata.php,Getconf.php 在同级目录
数据库配置文件database.php返回一个数组配置数组
Getconf.php 中Getconf类实现了ArrayAccess接口,构造函数可以获取一个参数$path
getdata.php中$data = new Getconf(),则下一行代码中$data['database']自动触发了类Getconf的实例$data的offsetGet方法并将database作为实参传递给该方法,$data['database']的值为offsetGet方法的返回值$conf[$key]。(可查阅ArrayAccess接口了解)
则offsetGet方法中$conf[$key] = require $this->path.$key.".php"; 引入了同级目录下database.php($this->path为Getconf类构造函数接受的参数,此示例中为空)并赋值给$conf['database'],因配置文件database.php直接返回了一个数组,则
$conf['database']=array(
'host' => 'localhost',
'user' => 'root',
'password' => 'root'
);
则
$data['database']=$conf['database']=array(
'host' => 'localhost',
'user' => 'root',
'password' => 'root'
);
则getdata.php中$data['database']['host']='localhost'
运行getdata.php输出localhost
Getconf.php
<?php/*** 通过实现ArrayAccess 达到自定义数组访问方式的效果*/class Getconf implements ArrayAccess{protected $path;protected $conf; function __construct($path=''){$this->path = $path;}function offsetGet($key){if(empty($conf[$key])){$conf[$key] = require $this->path.$key.".php";return $conf[$key]; }}function offsetExists($key){var_dump($key);}function offsetSet($key,$value){var_dump($key);}function offsetUnset($key){var_dump($key);}}
getdata.php 通过Getconf类以数组方式获取配置文件内指定配置
<?phprequire 'Getconf.php';$data = new Getconf();echo $data['database']['host'];
database.php 示例数据库配置文件
<?phpreturn array('host' => 'localhost','user' => 'root','password' => 'root' );
- php以数组形式获得配置文件数据示例详解
- PHP以数组形式获得XML内容
- 以数组形式获取数据
- PHP把数组写进csv,和从csv文件以数组的形式读取数据
- C# 以JSON数组形式返回数据
- 【原创】PHP获取textarea里面一行一行的数据 以数组的形式ajax传参
- 前端jsp以数组形式提交数据给服务器
- PHP如何以post形式发送xml数据
- PHP如何以post形式发送xml数据
- php 将数据 以excel 表格的形式导出
- php数组(array)输出的三种形式详解
- java获得配置文件数据
- 以Exel形式导出数据
- 以对象形式处理数据
- 以Json形式上传数据
- Java中如何将以byte数组给出的数据转换为double数组形式
- 【php语法】实现ArrayAccess接口,以数组的形式访问对象
- Structs1配置文件 详解+示例
- uvalive 6693 - Flow Game - BFS
- LightOJ 1008 Fibsieve`s Fantabulous Birthday
- 对菜鸟开发者的忠告:花一万个小时练习 Coding,不要浪费一万小时无谓地 Debugging
- Flex 在TextInput里输入值,对datagrid进行数据筛选
- OC高度总结
- php以数组形式获得配置文件数据示例详解
- 理解Java 8 Lambda
- javaSE 面向对象复习(一)
- LightOJ 1043 - Triangle Partitioning
- [bzoj1042][HAOI2008]硬币购物
- 主席树
- 一个很简单的Jqery弹出框
- 数组与矩阵的区别
- 实现HTTP服务器的三种方法