91 lines
2.9 KiB
Markdown
91 lines
2.9 KiB
Markdown
2amigos Application Template
|
|
============================
|
|
|
|
This Application Template is our proposed structure for your Yii2 applications. It makes use
|
|
of a special library named `ConfigKit`
|
|
|
|
> For further information regarding the use of this template, please visit its
|
|
[README file](https://github.com/2amigos/yii2-app-template).
|
|
|
|
Step 1 - Install The Application template
|
|
-----------------------------------------
|
|
|
|
We will assume that you have composer installed globally on your computer and also the
|
|
`fxp/composer-asset/plugin:^1.3` that is required for all Yii2 apps.
|
|
|
|
```bash
|
|
composer create-project --prefer-dist --stability=dev 2amigos/yii2-app-template your-site-name
|
|
```
|
|
|
|
Step 2 - Configure your application
|
|
-----------------------------------
|
|
|
|
Go to the `config/web/modules` folder and create a new PHP file named `user.php`. Then on in its
|
|
contents write the configuration for the module:
|
|
|
|
|
|
```php
|
|
<?php
|
|
|
|
return [
|
|
'class' => Da\User\Module::class
|
|
];
|
|
```
|
|
|
|
Step 3 - Apply database schema migrations
|
|
-----------------------------------------
|
|
|
|
This is obvious extension like our which deals with users, roles, permissions, etc. have to use some database.
|
|
Our migrations are namespaced and available in `Da\User\Migration` namespace.
|
|
|
|
Before starting to work with database, please ensure you have deleted `m130524_201442_init.php` migration file
|
|
which comes from the default installation of the Advanced Application Template. It's located at
|
|
`%PROJECT_DIR%/console/migrations/m130524_201442_init.php` path.
|
|
|
|
There are two ways to apply migrations of this extension, the first one:
|
|
|
|
```php
|
|
./yii migrate --migrationNamespaces=Da\\User\\Migration
|
|
./yii migrate --migrationPath=@yii/rbac/migrations
|
|
./yii migrate
|
|
```
|
|
|
|
First command applies migration set of the user module, and the second one is for application migrations.
|
|
|
|
> Note, you cannot mix two ways: choose one of them, and stick with it.
|
|
|
|
The second way is more comfortable, and you don't have to remember to launch first command every time you obtain
|
|
new version of our extension. First of all add the following lines to the file
|
|
`%PROJECT_DIR%/console/config/main.php`:
|
|
|
|
```php
|
|
return [
|
|
// ...
|
|
'controllerMap' => [
|
|
'migrate' => [
|
|
'class' => \yii\console\controllers\MigrateController::class,
|
|
'migrationNamespaces' => [
|
|
'Da\User\Migration',
|
|
],
|
|
'migrationPath' => [
|
|
'@app/migrations',
|
|
'@yii/rbac/migrations',
|
|
],
|
|
],
|
|
],
|
|
// ...
|
|
];
|
|
```
|
|
|
|
This basically instructs your application to always try to use migrations from the given namespace. Which again
|
|
is very convenient way to track new migration classes coming from this and possibly other extensions and sources.
|
|
|
|
|
|
|
|
> Namespaced migrations were introduced in Yii 2.0.10, so before using them consider updating your framework
|
|
> installation version.
|
|
|
|
© [2amigos](http://www.2amigos.us/) 2013-2017
|
|
|
|
|