该文件主要作用是配置应用路径别名,每增加一个应用(站点)都需要在此增加一个节点。例如:通过语句:Yii::setAlias('@common', dirname(__DIR__)) ,就可以在程序的任何位置,通过语句:Yii::getAlias('@common')获取common目录的实际路径。
该文件是配置所有应用(站点)的公共设置,比如默认控制器名称,公共组件(包括缓存、视图渲染、路由、i18n、Redis、错误日志等), 也可以在这里配置自定义组件共全局使用,该文件的配置项最大的特点就是全局通用,任何有该 特点的模块、组件都可以配置到该文件中。
从文件名就可以看出,该文件是对main.php配置文件的本地化补充,所谓的本地化就是指相对生产环境 来讲,一个项目可能涉及很多开发人员,那么每个开发人员的本地设置可能有所不同,比如数据库连接参数,这时候,就可以通过配置main-local.php来控制,而不必每个开发人员 都去修改main.php文件(顺便说一下:main-local.php一般是不放到git仓库或者svn仓库的)
该文件是配置所有应用(站点)的公共参数,比如应用(站点)名称、访问域名、默认用户头像,LOGO路径、管理员邮箱,验证码开关等,是相对于main.php配置文件的补充, 该参数内容可以通过方法: Yii::$app->params全局调用,比如获取网站前台域名地址:Yii::$app->params['frontendUrl']
该文件是对params.php本地化参数的补充。
1、手动修改配置文件以实现连接数据库的能力,对一个刚使用系统的新手来说并不是一个很好的体验。
2、一般系统都会开发安装程序,通过页面提交数据库配置参数后,由系统自动保存到指定文件中,这就要求,保存文件的路径必须可写 ,而我们的common目录是不建议也不应该被设置为可写的目录,这样会带来很大的安全隐患。所以我们不能把数据库配置保存到@shopwind/common/config/main.php中。
3、虽然我们的数据库配置文件位于前台(frontend)下,但这并不影响其他应用(站点)的使用,因为ShopWind会将该配置合并到@shopwind/common/main-local.php中, 这样就确保了在其他应用(站点)同样能使用该配置信息。