实现一个Config的类,以下是伪代码:
为了图方便,我就直接用laravel内部的数组类了
https://github.com/laravel/framework/blob/5.3/src/Illuminate/Support/Arr.php
return['site'=>'MyApp','data'=>['kk'=>1,],];
classConfig{static$cached;publicstaticfunctionload($file){if(!isset(static::$cached[$file]))static::$cached[$file]=@require('path/to/config/'.$file.'.php');}publicstaticfunctionget($keys,$default_value=NULL){list($file,$key)=explode('.',$keys,2);static::load($file);return!empty($key)?Arr::get(static::$cached[$file],$key,$default_value):static::$cached[$file];}publicstaticfunctionset($key,$value){list($file,$key)=explode('.',$keys,2);if(empty($key))returnfalse;static::load($file);returnArr::set(static::$cached[$file],$key,$value);}}
echoCache::get('app.site');echoCache::get('app.data.kk');
你可以尝试用autoload
在index.php获取了不是后面的controller都能自动require了吗?这个index.php不是启动文件?
获取内容可以$config=include"config/config.php";
var_dump($config);
设置一个管理配置文件的类或者接口,再把该类设置成自动加载即可!实现的方法有很多,关键怎么处理,看你的喜好了!
在index.php入口执行的时候config.php已经包含进来的,所有的常量已经初始化好了.