Yii2 php init命令

时间:2016-04-22 10:52:00

标签: yii2

php init命令实际上做了什么?

使用此命令创建项目后,在cmd中运行此命令时:composer create-project --prefer-dist yiisoft/yii2-app-advanced advanced

我看到很多文件都生成在不同的位置,如common,backend,frontend。

 `some@user:/var/www/html/yiiapp$ php init
  Yii Application Initialization Tool v1.0

  Which environment do you want the application to be initialized in?

[0] Development
 [1] Production

Your choice [0-1, or "q" to quit] 0

Initialize the application under 'Development' environment? [yes|no] yes

Start initialization ...

  exist common/config/main-local.php
        ...overwrite? [Yes|No|All|Quit] All
overwrite common/config/main-local.php
unchanged common/config/params-local.php
unchanged yii
overwrite backend/config/main-local.php
unchanged backend/config/params-local.php
unchanged backend/web/index-test.php
unchanged backend/web/index.php
unchanged api/web/index-test.php
unchanged api/web/index.php
overwrite frontend/config/main-local.php
unchanged frontend/config/params-local.php
unchanged frontend/web/index-test.php
unchanged frontend/web/index.php
unchanged console/config/main-local.php
unchanged console/config/params-local.php
 generate cookie validation key in backend/config/main-local.php
 generate cookie validation key in frontend/config/main-local.php
  chmod 0777 backend/runtime
  chmod 0777 backend/web/assets
  chmod 0777 frontend/runtime
  chmod 0777 frontend/web/assets
  chmod 0755 yii
  chmod 0755 tests/codeception/bin/yii

... initialization completed.`

2 个答案:

答案 0 :(得分:7)

init命令只是将目录/环境中的文件复制到项目中

在高级应用程序中,默认情况下您有两个环境(dev和prod),每个环境都有不同的项目配置。

在每个位置,您都有一些配置文件main.php,params.php,main-local.php,params-local.php。文件main.php和params.php适用于所有环境,文件main-local.php和params-local.php是当前环境的配置。

例如,您拥有真实项目的数据库和用于测试目的的数据库。在这种情况下,您应该在文件main-local.php和params-local.php中为db组件编写不同的配置。

关于这个文件还有一件事。如果要将配置启用到项目,则应在目录/环境中重写它们。因为所有* -local.php文件都包含在git-ignore部分中。因此,您可以在/frontend/config/main-local.php文件中测试不同的配置,如果您成功使用它,可以将其添加到/envinronment/prod/frontend/main-local.php

答案 1 :(得分:4)

1)为所有应用生成配置文件。后端是一个应用程序,前端是anohter应用程序。使用 main main-local ,您可以在本地和服务器中使用不同的设置。常见的是两个应用程序(用户模型或两个应用程序中使用的第三方......)的需求。

  

模板包括三层:前端,后端和控制台,   每个都是一个单独的Yii应用程序。

从高级模板安装指南https://github.com/yiisoft/yii2-app-advanced/blob/master/docs/guide/README.md

2)还为每个应用的文件夹添加权限。例如:

'backend/runtime',
'backend/web/assets',
'frontend/runtime',
'frontend/web/assets',

在此处检查基本和高级模板之间的差异:https://github.com/yiisoft/yii2-app-advanced/blob/master/docs/guide/start-comparison.md