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 | 
				
			||||
======================== | 
				
			||||
 | 
				
			||||
[](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