问题是我不明白环境文件夹的概念.请让我解释一下:
>我可以在Git中使用分支(用于开发,分期和生产)
> * -local.conf文件被Git忽略,它们不会被推到分段或生产
为什么我必须复制环境中的所有控制器,视图和其他文件/ dev&环境/生产?
我实际上要做什么文件夹?
所有的代码应该进入通用,前端,控制台或后端文件夹.通用appart,这些是您的应用程序的默认可用入口点,您将放置控制器逻辑.你显然不必全部使用它们,只要使用前端就可以满足你的具体需要.
但是,如果您选择了高级模板,那么可能会使用组合,如说,常见,后端和前端
环境文件夹
环境文件夹对应于运行./init时的选项.这就是名字:
> 0)发展
> 1)生产
它们包含运行./init命令时编辑和/或添加的所有文件.这些包括被VCS(git)忽略(因此从未创建)的所有文件.
我们正在讨论像* -local.PHP文件这样的文件,因为明显的原因不应该被版本化.而且还会根据您正在初始化的环境而改变的条目脚本.例如,您希望在生产中进行调试和注销,但正在开发中.这些是您无法在配置文件级别进行设置的东西,因为它们需要在Yii应用程序模拟之前进行设置,或者您只需知道在每次初始化环境时都需要默认设置.
您可以想象通过预生产的名称添加另一个环境,例如,将初始化您的应用程序,就像生产环境,除了启用日志记录.为此,您将复制环境/ prod文件夹,根据需要修改条目脚本,并在environment / index.PHP中添加选项.
克隆分支后,只需要运行一次./init.如果您的CI大,CI服务器可能需要在每次运行时运行./init脚本.这可能取决于您如何配置它.如果您对要应用的环境文件夹进行了更改,则需要再次运行它.
通用,控制台和*端
这个你可能已经知道了,但只是想让一个人在想.
> common:包含所有应用程序的通用逻辑,从配置文件到模型
前端:与前端Web界面相关的一切,也可以拥有自己的模型等.
>后端:与上述相同,但允许在前端和后端应用程序之间分开逻辑.
>控制台:通过命令行访问您的应用程序./yii控制器/操作
这通常是所有魔法发生的地方,不需要重复任何代码.