Gogs d84ffc6c57 calendar 11 сар өмнө
..
.github d84ffc6c57 calendar 11 сар өмнө
tests d84ffc6c57 calendar 11 сар өмнө
.editorconfig 74aff18855 init2 6 жил өмнө
.gitattributes 74aff18855 init2 6 жил өмнө
.gitignore d84ffc6c57 calendar 11 сар өмнө
.scrutinizer.yml d84ffc6c57 calendar 11 сар өмнө
CHANGELOG.md d84ffc6c57 calendar 11 сар өмнө
Installer.php d84ffc6c57 calendar 11 сар өмнө
LICENSE.md 74aff18855 init2 6 жил өмнө
Plugin.php d84ffc6c57 calendar 11 сар өмнө
README.md d84ffc6c57 calendar 11 сар өмнө
composer.json d84ffc6c57 calendar 11 сар өмнө
phpunit.xml.dist 74aff18855 init2 6 жил өмнө

README.md

Yii 2 Composer Installer


This is the composer installer for Yii framework 2.0 extensions. It implements a new composer package type named yii2-extension, which should be used by all Yii 2 extensions if they are distributed as composer packages.

For license information check the LICENSE-file.

Latest Stable Version Total Downloads Build status

Usage

The Yii 2 Composer Installer is automatically installed with when installing the framework via Composer.

To use Yii 2 composer installer, simply set the package type to be yii2-extension in your composer.json, like the following:

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

You may specify a bootstrapping class in the extra section. The init() method of the class will be executed each time the Yii 2 application is responding to a request. For example,

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

The Installer class also implements a static method postCreateProject() that can be called after a Yii 2 project is created, through the post-create-project-cmd composer script. A similar method exists for running tasks after each composer install call, which is postInstall(). These methods allow to run other Installer class methods like setPermission() or generateCookieValidationKey(), depending on the corresponding parameters set in the extra section of the composer.json file. For example,

{
    "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"
            ]
        }
    }
}