Initial Commit
This commit is contained in:
128
app/lib/Yiinitializr/README.md
Normal file
128
app/lib/Yiinitializr/README.md
Normal file
@@ -0,0 +1,128 @@
|
||||
Yiinitializr
|
||||
============
|
||||
|
||||
Library that will help boost your application installation with ease and also to run Yii applications from its
|
||||
bootstrap files on a much cleaner way that the framework currently proposes. For example:
|
||||
|
||||
```
|
||||
// yii has been installed via composer
|
||||
require('./../app/lib/vendor/yiisoft/yii/framework/yii.php');
|
||||
|
||||
// set alias for namespacing
|
||||
// make sure the path is correct as it can also be installed via composer (see above)
|
||||
Yii::setPathOfAlias('Yiinitializr', './../app/lib/Yiinitializr');
|
||||
|
||||
// use its initializr
|
||||
use Yiinitializr\Helpers\Initializer;
|
||||
|
||||
// tell the Initializer class providing the root, the application config name,
|
||||
// and the files to merge -very useful when working with advanced boilerplates
|
||||
// and different environments
|
||||
Initializer::create('./../app', 'main', array('common', 'env', 'local'))->run();
|
||||
```
|
||||
|
||||
INSTALLATION
|
||||
------------
|
||||
If you are going to use Yiinitializr to make use of `Yiinitializr\Helpers\Initializr` you can easily install it via
|
||||
`composer`, but if you are going to use it within your application structure in order to configure your application
|
||||
according to your custom needs, then the recommended use is that you [download](https://github.com/2amigos/yiinitializr/archive/master.zip)
|
||||
its source files and place them on a top level folder.
|
||||
|
||||
###Configuration Settings
|
||||
As with Yii, you need to go through a bit of configuration settings if you wish to handle your project structure setup
|
||||
with `composer`. Don't worry, is not going to be too hard, the following is an example configuration file:
|
||||
|
||||
```
|
||||
\\ where am i?
|
||||
$dirname = dirname(__FILE__);
|
||||
\\ where is the application folder?
|
||||
$app = $dirname . '/../../..';
|
||||
\\ where is the root?
|
||||
$root = $app . '/..';
|
||||
|
||||
return array(
|
||||
// yii configurations
|
||||
'yii' => array(
|
||||
// where is the path of the yii framework?
|
||||
// On this example we have installed yii with composer
|
||||
// and as it is used after composer installation, we
|
||||
// can safely point to the vendor folder.
|
||||
'path' => $app . '/lib/vendor/yiisoft/yii/framework'
|
||||
),
|
||||
// yiinitializr specific settings
|
||||
'yiinitializr' => array(
|
||||
// config folders
|
||||
'config' => array(
|
||||
// we just need the console settings
|
||||
// On this example, and due that I used environments
|
||||
// i created a custom console.php app for
|
||||
// Yiinitializr\Composer\Callbak class (see below example)
|
||||
'console' => $dirname . '/console.php'
|
||||
),
|
||||
// application structure settings
|
||||
'app' => array(
|
||||
// where is the root?
|
||||
'root' => $root,
|
||||
// directories setup
|
||||
'directories' => array(
|
||||
// where are the different configuration files settings?
|
||||
'config' => array(
|
||||
// 'key' is the configuration name (see above init example)
|
||||
'main' => $app . '/config',
|
||||
'console' => $app . '/config',
|
||||
'test' => $app . '/config'
|
||||
),
|
||||
// where are my runtime folders?
|
||||
'runtime' => array(
|
||||
// heads up! only the folder location as "/config" will be
|
||||
// appended
|
||||
$app
|
||||
),
|
||||
'assets' => array(
|
||||
// where to write the "assets folders"?
|
||||
$root . '/www'
|
||||
)
|
||||
)
|
||||
),
|
||||
)
|
||||
);
|
||||
```
|
||||
|
||||
Here is an example of a custom `console.php` settings file when working with environments. As you saw on the previous
|
||||
code, this file on the example was located on the same `Yiinitializr\config` folder:
|
||||
|
||||
```
|
||||
require_once dirname(__FILE__) . '/../Helpers/Initializer.php';
|
||||
require_once dirname(__FILE__) . '/../Helpers/ArrayX.php';
|
||||
|
||||
return Yiinitializr\Helpers\ArrayX::merge(
|
||||
Yiinitializr\Helpers\Initializer::config('console', array('common', 'env', 'local')),
|
||||
array(
|
||||
'params' => array(
|
||||
// here is where the composer magic start.
|
||||
// Thanks! mr Tobias a.k.a Phundament man!
|
||||
'composer.callbacks' => array(
|
||||
'post-update' => array('yiic', 'migrate'),
|
||||
'post-install' => array('yiic', 'migrate'),
|
||||
)
|
||||
),
|
||||
)
|
||||
);
|
||||
```
|
||||
|
||||
REQUIREMENTS
|
||||
------------
|
||||
It works in conjunction with `composer` to install the boilerplate but
|
||||
The minimum requirements by Yiinitializr that you have installed `composer` or have a `composer.phar` on your application
|
||||
root in order to run and ** PHP 5.3+**
|
||||
|
||||
|
||||
###Resources
|
||||
- [Composer](http://getcomposer.org)
|
||||
- [Phundament](http://phundament.com/)
|
||||
- [Download latest ZIPball](https://github.com/2amigos/yiinitializr/archive/master.zip)
|
||||
- [2amigOS Packagist Profile](https://packagist.org/packages/2amigos/)
|
||||
|
||||
> [](http://www.2amigos.us)
|
||||
<i>web development has never been so fun</i>
|
||||
[www.2amigos.us](http://www.2amigos.us)
|
||||
Reference in New Issue
Block a user