读取配置文件

框架配置概述

phpGrace 提供了三种读取配置方式 : 全局配置、分组配置、模块配置,定义及调用方法见下面的说明。

1. 全局配置

1.1 使用场景

整个项目都可能用到的配置信息,如 : 数据库配置、邮件接口配置等;

1.2 定义方法

打开 : /phpGrace/config.php,添加自己的配置数据;

// 语法格式 :
<?php
return array(
    array('配置名称' => 对应数据 [ 可以是一个字符串或者数组 ] )
);
// 示例 :
<?php
return array(
   // ****** 数据库配置 *****
   'db'                     => array(
      'host'               =>    'localhost',
      'port'               =>    '3306'
   ),
   // 更多配置
);

1.3 调用配置 sc()

使用 sc() 函数获取全局配置数据。

// sc() 函数参数 :
1. 配置数据第一层键名称【可选参数 默认全部配置】
2. 配置数据第二层键名称【可选参数 默认 null】
// sc() 函数返回:
对应的配置数据,没有匹配的数据则返回 null;
例 :
<?php
class testController extends grace{
    public function index(){
        echo \sc('db', 'pre');
    }
}


2. 分组配置

2.1 使用场景

当前分组都可能用到的配置信息等;

2.2 定义方法

打开 : /分组目录/config.php,添加自己的配置数据;

// 语法格式 :
<?php
return array(
    array('配置名称' => 对应数据 [ 可以是一个字符串或者数组 ] )
);
// 示例 :
<?php
return array(
    'groupName' => '当前分组名称'
);

2.3 调用配置 c()

使用 c() 函数获取当前配置数据 ( 仅限于当前分组 )。

// c() 函数参数 :
1. 配置数据第一层键名称【可选参数 默认全部配置】
2. 配置数据第二层键名称【可选参数 默认 null】
// c() 函数返回:
对应的配置数据,没有匹配的数据则返回 null;
例 :
<?php
class testController extends grace{
    public function index(){
        echo \c('groupName');
    }
}


3. 模块配置 

3.1 使用场景

某个具体模块的配置数据,比如 文章模块 : 每页展示数量、文章状态等,作用于某个具体模块;

3.2 定义方法

新建 : /phpGrace/configs/配置名称[ 通常与模块名称同名 ].php 后添加自己的配置数据;

// 配置文件 : /phpGrace/configs/article.php
// 语法格式 :
<?php
return array(
    array('配置名称' => 对应数据 [ 可以是一个字符串或者数组 ] )
);
// 示例 :
<?php
return array(
    // web 端每页展示数量
    'everyPageNumberForWeb'       => 10
);

3.3 调用配置 config()

如果graceFunctions.php里面没有这个函数,可以自己在最末尾手动添加

/** 
* 模块配置
* 读取 /phpGrace/configs/配置名称[ 通常与模块名称同名 ].php 后添加自己的配置数据;
* @param $configName  模块名称 无.php 
* @param $ke1  配置名称1 
* @param $key2 配置名称2
*/
function config($configName,$key1=null,$key2=null){
    static $config = null;
    if($config == null){
        $config = require PG_IN.'configs/'.$configName.'.php';
    }
    if(is_null($key1)){return $config;}
    if(is_null($key2)){if(isset($config[$key1])){return $config[$key1];} return null;}
    if(isset($config[$key1][$key2])){return $config[$key1][$key2];}
    return null;
}

使用 config() 函数获取某个具体文件内的配置信息。

// config() 函数参数 :
1. 配置文件名称【不要传递 .php 扩展名】
2. 配置数据第一层键名称【可选参数 默认全部配置】
3. 配置数据第二层键名称【可选参数 默认 null】
// config() 函数返回:
对应的配置数据,没有匹配的数据则返回 null;
例 :
<?php
class testController extends grace{
    public function index(){
        echo \config('article','everyPageNumberForWeb');
    }
}