Qiang Xue
11 years ago
2 changed files with 57 additions and 36 deletions
@ -1,44 +1,65 @@
|
||||
Yii 2.0 Public Preview - Composer Installer |
||||
=========================================== |
||||
|
||||
Thank you for choosing Yii - a high-performance component-based PHP framework. |
||||
|
||||
If you are looking for a production-ready PHP framework, please use |
||||
[Yii v1.1](https://github.com/yiisoft/yii). |
||||
|
||||
Yii 2.0 is still under heavy development. We may make significant changes |
||||
without prior notices. **Yii 2.0 is not ready for production use yet.** |
||||
Yii 2 Composer Installer |
||||
======================== |
||||
|
||||
[![Build Status](https://secure.travis-ci.org/yiisoft/yii2.png)](http://travis-ci.org/yiisoft/yii2) |
||||
|
||||
This is the yii2 composer installer. |
||||
This is the composer installer for Yii 2 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. |
||||
|
||||
|
||||
Installation |
||||
------------ |
||||
Usage |
||||
----- |
||||
|
||||
This extension offers you enhanced Composer handling for your yii2-project. It will therefore require you to use Composer. |
||||
To use Yii 2 composer installer, simply set `type` to be `yii2-extension` in your `composer.json`, |
||||
like the following: |
||||
|
||||
```json |
||||
{ |
||||
"type": "yii2-extension", |
||||
"require": { |
||||
"yiisoft/yii2": "*" |
||||
}, |
||||
... |
||||
} |
||||
``` |
||||
php composer.phar require yiisoft/yii2-composer "*" |
||||
``` |
||||
|
||||
*Note: You might have to run `php composer.phar selfupdate` before using this extension.* |
||||
|
||||
|
||||
Usage & Documentation |
||||
--------------------- |
||||
|
||||
This extension allows you to hook to certain composer events and automate preparing your Yii2 application for further usage. |
||||
|
||||
After the package is installed, the `composer.json` file has to be modified to enable this extension. |
||||
|
||||
To see it in action take a look at the example apps in the repository: |
||||
|
||||
- [Basic](https://github.com/suralc/yii2/blob/master/apps/basic/composer.json#L27) |
||||
- [Advanced](https://github.com/suralc/yii2/blob/extensions-readme/apps/advanced/composer.json) |
||||
|
||||
However it might be useful to read through the official composer [documentation](http://getcomposer.org/doc/articles/scripts.md) |
||||
to understand what this extension can do for you and what it can't. |
||||
You may specify a bootstrap class in the `extra` section. The class will be executed each time |
||||
the Yii 2 application is responding to a request. For example, |
||||
|
||||
```json |
||||
{ |
||||
"type": "yii2-extension", |
||||
..., |
||||
"extra": { |
||||
"bootstrap": "yii\\jui\\Extension" |
||||
} |
||||
} |
||||
``` |
||||
|
||||
You can also use this as a template to create your own composer additions to ease development and deployment of your app. |
||||
The `Installer` class also implements a static method `setPermission()` that can be called after |
||||
a Yii 2 projected is installed, through the `post-create-project-cmd` composer script. |
||||
The method will set specified directories or files to be writable or executable, depending on |
||||
the corresponding parameters set in the `extra` section of the `composer.json` file. |
||||
For example, |
||||
|
||||
```json |
||||
{ |
||||
"name": "yiisoft/yii2-app-basic", |
||||
"type": "project", |
||||
... |
||||
"scripts": { |
||||
"post-create-project-cmd": [ |
||||
"yii\\composer\\Installer::setPermission" |
||||
] |
||||
}, |
||||
"extra": { |
||||
"writable": [ |
||||
"runtime", |
||||
"web/assets" |
||||
], |
||||
"executable": [ |
||||
"yii" |
||||
] |
||||
} |
||||
} |
||||
``` |
||||
|
Loading…
Reference in new issue