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 |
Yii 2 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.** |
|
||||||
|
|
||||||
[![Build Status](https://secure.travis-ci.org/yiisoft/yii2.png)](http://travis-ci.org/yiisoft/yii2) |
[![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. |
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, |
||||||
After the package is installed, the `composer.json` file has to be modified to enable this extension. |
|
||||||
|
```json |
||||||
To see it in action take a look at the example apps in the repository: |
{ |
||||||
|
"type": "yii2-extension", |
||||||
- [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) |
"extra": { |
||||||
|
"bootstrap": "yii\\jui\\Extension" |
||||||
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 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