ShopWind开源电商系统 - 配置文件

shopwind 更新于 二次开发 2023-04-02 15:49:11

本章节主要是介绍,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['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中, 这样就确保了在其他应用(站点)同样能使用该配置信息。

最后编辑于 2023-04-02 15:49:11
0 1128
Re :

shopwind 这家伙什么都没留下

  • 回答

    100
  • 发布

    101
  • 经验

    6430

内容精选

联系我们

  • 微信官网

    关注公众号

    系统更新,推送提醒
  • 开发交流群

    技术交流Q群

    安装使用,开发交流

垂询热线:15977474517