当前位置:首页 > 关于Lumen的配置文件使用

关于Lumen的配置文件使用

发布于 2018-05-03 阅读 1315 次 框架 Lumen PHP
Lumen默认是通过`.env`文件来进行框架配置 框架运行后配置会被加载到 php 全局变量 `$_ENV`中,同时也可以通过全局helper函数: $value = config('key'); 来获取配置信息 **注意在使用版本控制`git`,`svn`等时候不需要把`.env`加入版本控制** 而是通过 `.env.example`进行配置文件同步,每一次增加和删除配置项后。注意同步修改`.env.example`并提交版本控制 简单来说,每一个环境都会有自己的`.env`文件,通过复制`.env.example`来创建,并修改为当前环境下的变量值。而`.env.example`只有一份, 并跟随代码。 ### 自定义config配置 使用过Laravel的可能知道,在项目根目录下有个config文件。 其实Lumen也是有的,只是被默认隐藏起来了。 进入`vendor\laravel\lumen-framework`目录,有个`config`文件夹。手动复制`config`目录至项目根目录下即可: /your_project_path |- app |- bootstrap |- config ... |- vendor ... **config配置文件加载** 修改 bootstrap/app.php # 通过 $app->configure() 加载所需的配置文件 $app->configure('config_file_name'); # 实例 /* |-------------------------------------------------------------------------- | Register Middleware |-------------------------------------------------------------------------- | | Next, we will register the middleware with the application. These can | be global middleware that run before and after each request into a | route or middleware that'll be assigned to some specific routes. | */ // $app->middleware([ // App\Http\Middleware\ExampleMiddleware::class // ]); // $app->routeMiddleware([ // 'auth' => App\Http\Middleware\Authenticate::class, // ]); /* | 加载自定义配置文件 | */ $app->configure('app'); $app->configure('auth'); ### env 与 config 的关系 **env 主要是为了解决同一个变量在不同的环境下有不同的值** 比如mysql数据连接: 开发(develop)跟线上生产(product)环境会有不同的ip地址,端口和用户名,密码。通过env只需要修改当前环境下自身的值,也不会容易造成各环境下配置被覆盖。 而config下的配置文件,可以用来记录所有环境下相同的配置值 **同时config可以用来对env的配置做很好的归类以及构造合适的数据格式** env只能是单一的key-value 通过 env 配合 config 可以组合多类型的配置数据格式