配置
在项目目录说明 下的 Config章节说过,在cli
、development
、product
这三种环境中框架加载的配置文件是分开的,在这边详细说明加载规则
cli
cli
顾名思义为命令行运行环境
在cli环境下 框架默认载入的是Config/cli/normal.php
这个通用配置文件
development
development
顾名思议为开发环境
当我们的开发网址为localhost
、127.0.0.1
、192.xxx.xxx.xxx
(即以192开头的地址)、example.loc
(即域名的后缀为.loc)、example.dev
(即域名的后缀为.dev。【chrome更新到63.0.xxxx之后.dev的域名被加入了 HSTS preload, 这就意味着在chrome上,我们只能通过https的方式访问.dev的站点,所以开发测试不建议使用.dev了】) 、example.test
(即域名的后缀为.test。v2.8.0新增)这几类域名时框架会自动识别当时环境为开发环境,默认加载Config/development.php
这个通用配置文件
product
product
即除了cli
和development
之外的域名框架识别为正式环境,默认加载Config/normal.php
这个通用配置文件
自定义配置加载实现
自v2.7.2起。cli/development/product
这三个环境的判断组件也是可拨插替换的。也就是说假如你觉得cli/devolopment/product
不够用,想分成按照域名加载配置文件。如http://dev.com 从dev.com
目录取配置。http://pro.com
从pro.com
取配置。自己实现一个服务即可。修改入口中下面的配置为自已实现的服务.
//必须绑定。环境解析。自带的服务实现development/product/cli三种。可以根据需要实现更多的环境
Cml::getContainer()->singleton('cml_environment', \Cml\Service\Environment::class);