yiisoft/yii2-composer

Yii 扩展安装器的 Composer 插件

安装次数: 22,388,740

依赖项: 78

建议者: 0

安全: 0

星星: 86

关注者: 23

分支: 30

开放问题: 0

类型:composer-plugin

2.0.10 2020-06-24 00:04 UTC

This package is auto-updated.

Last update: 2024-09-17 11:17:15 UTC


README

Yii 2 Composer 安装器


这是用于 Yii 框架 2.0 扩展的 Composer 安装器。它实现了一个新的 composer 包类型名为 yii2-extension,如果它们作为 composer 包发布,所有 Yii 2 扩展都应该使用该类型。

有关许可信息,请参阅 LICENSE 文件。

Latest Stable Version Total Downloads Build status

使用方法

当通过 Composer 安装框架时,Yii 2 Composer 安装器会自动安装。

要使用 Yii 2 Composer 安装器,只需将包的 type 设置为 yii2-extension 在您的 composer.json 中,如下所示

{
    "type": "yii2-extension",
    "require": {
        "yiisoft/yii2": "~2.0.0"
    },
    ...
}

您可以在 extra 部分指定一个引导类。类的 init() 方法将在每次 Yii 2 应用程序响应请求时执行。例如,

{
    "type": "yii2-extension",
    ...,
    "extra": {
        "bootstrap": "yii\\jui\\Extension"
    }
}

Installer 类还实现了静态方法 postCreateProject(),可以在创建 Yii 2 项目后通过 post-create-project-cmd composer 脚本调用。存在类似的方法在每次 composer install 调用后运行任务,这是 postInstall()。这些方法允许运行其他 Installer 类方法,如 setPermission()generateCookieValidationKey(),具体取决于在 composer.json 文件的 extra 部分中设置的相应参数。例如,

{
    "name": "yiisoft/yii2-app-basic",
    "type": "project",
    ...
    "scripts": {
        "post-create-project-cmd": [
            "yii\\composer\\Installer::postCreateProject"
        ],
        "post-install-cmd": [
            "yii\\composer\\Installer::postInstall"
        ]
    },
    "extra": {
        "yii\\composer\\Installer::postCreateProject": {
            "setPermission": [
                {
                    "runtime": "0777",
                    "web/assets": "0777",
                    "yii": "0755"
                }
            ]
        },
        "yii\\composer\\Installer::postInstall": {
            "copyFiles": [
                {
                    "config/templates/console-local.php": "config/console-local.php",
                    "config/templates/web-local.php": "config/web-local.php",
                    "config/templates/db-local.php": "config/db-local.php",
                    "config/templates/cache.json": ["runtime/cache.json", true]
                }
            ],
            "generateCookieValidationKey": [
                "config/web-local.php"
            ]
        }
    }
}