yii2tech/install

此包已被废弃,不再维护。未建议替代包。

为Yii2框架提供项目安装支持扩展

资助包维护!
klimov-paul
Patreon

安装次数: 1,816

依赖者: 1

建议者: 0

安全: 0

星标: 15

关注者: 3

分支: 2

公开问题: 0

类型:yii2-extension

1.0.3 2018-03-02 21:54 UTC

This package is auto-updated.

Last update: 2022-01-10 10:37:38 UTC


README

12951949

为Yii 2安装扩展


此扩展提供自动化初始化项目工作副本的能力,包括创建本地目录和文件、运行数据库迁移等。

有关许可证信息,请查看LICENSE文件。

Latest Stable Version Total Downloads Build Status

要求

此扩展需要Linux操作系统。

安装

安装此扩展的首选方式是通过composer

运行以下命令之一:

php composer.phar require --prefer-dist yii2tech/install

或者

"yii2tech/install": "*"

将其添加到您的composer.json的require部分。

如果您希望在项目安装期间设置crontab,您还需要安装yii2tech/crontab,这是默认不要求的。为了做到这一点,您可以运行

php composer.phar require --prefer-dist yii2tech/crontab

或者

"yii2tech/crontab": "*"

将其添加到您的composer.json的require部分。

用法

此扩展提供特殊的控制台控制器[[yii2tech\install\InitController]],允许初始化项目工作副本。此类初始化包括

  • 检查当前环境是否符合项目要求。
  • 创建本地目录(可能不在版本控制系统中存储的目录)并使其可写。
  • 从模板创建本地文件,例如配置文件。
  • 运行额外的shell命令,如'yii migrate'命令。
  • 设置cron作业。

为了创建安装器,您应该创建一个独立的控制台应用程序入口脚本。此脚本应该完全去除本地配置文件、数据库等!请参阅examples/install.php以获取此类脚本的示例。

一旦您有了这样的脚本,您就可以使用以下命令运行安装过程:

php install.php init

处理本地文件

[[yii2tech\install\InitController]]引入的最有趣的功能是从交互模式中的示例创建本地项目文件,例如配置文件。对于每个可能根据实际项目环境而内容不同的文件,您应该创建一个格式为{filename}.sample的模板文件。此文件应位于实际本地文件应出现的同一目录下。在模板文件中,您可以使用格式为{{placeholderName}}的占位符。例如

defined('YII_DEBUG') or define('YII_DEBUG', {{yiiDebug}});
defined('YII_ENV') or define('YII_ENV', '{{yiiEnv}}');

return [
    'components' => [
        'db' => [
            'dsn' => 'mysql:host={{dbHost}};dbname={{dbName}}',
            'username' => '{{dbUser}}',
            'password' => '{{dbPassword}}',
        ],
    ],
];

在处理过程中,文件模板会被解析,对于所有找到的占位符,都会提示用户输入相应的值。您可以通过设置 [[yii2tech\install\InitController::localFilePlaceholders]],指定提示、类型和验证规则,使此过程更加用户友好。有关详细信息,请参阅 [[yii2tech\install\LocalFilePlaceholder]]。

非交互式安装

请求用户输入特定占位符值可能不够高效,有时甚至不可接受。您可能需要在完全自动模式下运行项目安装,例如在更新源代码后进行自动项目更新。为了禁用任何用户交互,您应该使用 interactive 选项

php install.php init --interactive=0

在此模式下,对于所有本地文件占位符将采用默认值,但前提是这些值已通过 [[yii2tech\install\InitController::localFilePlaceholders]] 明确定义。因为安装条目脚本通常存储在版本控制系统下,而本地文件占位符值(以及其他安装参数)可能根据特定环境而变化,[[yii2tech\install\InitController]] 引入了 'config' 选项。使用此选项,您可以指定额外的配置文件,该文件应与预定义参数合并。要创建此类配置文件,您可以使用以下

php install.php init/config @app/config/install.php

一旦您调整了创建的配置文件,就可以使用它来运行安装

php install.php init --config=@app/config/install.php --interactive=0