读取配置文件
框架配置概述
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'); } }