配置文件
本章节主要是介绍,ShopWind系统配置文件的路径及作用,包括公共配置文件,应用(站点)配置文件以及数据库连接配置文件。
一、公共配置文件
公共配置文件的路径位于:@shopwind/common/config目录下,该目录包含以下几个主要文件:
./bootstrap.php

该文件主要作用是配置应用路径别名,每增加一个应用(站点)都需要在此增加一个节点。例如:通过语句:Yii::setAlias('@common', dirname(__DIR__)) ,就可以在程序的任何位置,通过语句:Yii::getAlias('@common')获取common目录的实际路径。

./main.php

该文件是配置所有应用(站点)的公共设置,比如默认控制器名称,公共组件(包括缓存、视图渲染、路由、i18n、Redis、错误日志等), 也可以在这里配置自定义组件共全局使用,该文件的配置项最大的特点就是全局通用,任何有该 特点的模块、组件都可以配置到该文件中。

./main-local.php

从文件名就可以看出,该文件是对main.php配置文件的本地化补充,所谓的本地化就是指相对生产环境 来讲,一个项目可能涉及很多开发人员,那么每个开发人员的本地设置可能有所不同,比如数据库连接参数,这时候,就可以通过配置main-local.php来控制,而不必每个开发人员 都去修改main.php文件(顺便说一下:main-local.php一般是不放到git仓库或者svn仓库的)

./params.php

该文件是配置所有应用(站点)的公共参数,比如应用(站点)名称、访问域名、默认用户头像,LOGO路径、管理员邮箱,验证码开关等,是相对于main.php配置文件的补充, 该参数内容可以通过方法: Yii::$app->params全局调用,比如获取网站前台域名地址:Yii::$app->params['frontendUrl']

./params-local.php

该文件是对params.php本地化参数的补充。

注意:params配置文件建议不要设置敏感信息,因为该文件的内容可以通过Yii::$app->params在视图文件中直接获取
二、应用(站点)配置文件
ShopWind系统目前包含四大模块:frontend(前台)、backend(后台)、mobile(H5/WAP)、apiserver(API接口),每一个模块都是一个应用(站点), 都有自己单独的配置文件,如:main.php、main-local.php、params.php、params-local.php,分别位于该应用(站点)的 config/目录下, 但是与common目录下的配置文件不同的是,应用(站点)下的配置文件只对自己应用本身有效,而不能作用于其他应用(站点),比如前台:@shopwind/frontend/config/main.php的配置参数,无法在后台:@shopwind/backend应用下获取和使用。 也就是说应用(站点)的配置文件的优先级大于公共配置文件。
三、数据库配置文件
数据库配置文件也就是连接数据库的字串代码,其实连接数据的代码也可以直接写到common下的main.php 或 main-local.php 文件中,但我们出于更多的考虑,将其部署在前台应用(frontend)下,具体路径为: @shopwind/frontend/web/data/config.php,原因有下:

1、手动修改配置文件以实现连接数据库的能力,对一个刚使用系统的新手来说并不是一个很好的体验。

2、一般系统都会开发安装程序,通过页面提交数据库配置参数后,由系统自动保存到指定文件中,这就要求,保存文件的路径必须可写 ,而我们的common目录是不建议也不应该被设置为可写的目录,这样会带来很大的安全隐患。所以我们不能把数据库配置保存到@shopwind/common/config/main.php中。

3、虽然我们的数据库配置文件位于前台(frontend)下,但这并不影响其他应用(站点)的使用,因为ShopWind会将该配置合并到@shopwind/common/main-local.php中, 这样就确保了在其他应用(站点)同样能使用该配置信息。

以上就是ShopWind系统配置文件的全部内容,涉及具体某个组件、模块具体如何配置,我们会在以后的章节给大家说明。如果对配置文件还有疑问,可以进入我们官方的 开发者社区反馈,我们会有官方技术人员在线解答。