|
|
|
Yii 2 Advanced Application Template
|
|
|
|
===================================
|
|
|
|
|
|
|
|
Yii 2 Advanced Application Template is a skeleton Yii 2 application best for
|
|
|
|
developing complex Web applications with multiple tiers.
|
|
|
|
|
|
|
|
The template includes three tiers: front end, back end, and console, each of which
|
|
|
|
is a separate Yii application.
|
|
|
|
|
|
|
|
The template is designed to work in a team development environment. It supports
|
|
|
|
deploying the application in different environments.
|
|
|
|
|
|
|
|
|
|
|
|
DIRECTORY STRUCTURE
|
|
|
|
-------------------
|
|
|
|
|
|
|
|
```
|
|
|
|
common
|
|
|
|
config/ contains shared configurations
|
|
|
|
models/ contains model classes used in both backend and frontend
|
|
|
|
console
|
|
|
|
config/ contains console configurations
|
|
|
|
controllers/ contains console controllers (commands)
|
|
|
|
migrations/ contains database migrations
|
|
|
|
models/ contains console-specific model classes
|
|
|
|
runtime/ contains files generated during runtime
|
|
|
|
backend
|
|
|
|
assets/ contains application assets such as JavaScript and CSS
|
|
|
|
config/ contains backend configurations
|
|
|
|
controllers/ contains Web controller classes
|
|
|
|
models/ contains backend-specific model classes
|
|
|
|
runtime/ contains files generated during runtime
|
|
|
|
views/ contains view files for the Web application
|
|
|
|
web/ contains the entry script and Web resources
|
|
|
|
frontend
|
|
|
|
assets/ contains application assets such as JavaScript and CSS
|
|
|
|
config/ contains frontend configurations
|
|
|
|
controllers/ contains Web controller classes
|
|
|
|
models/ contains frontend-specific model classes
|
|
|
|
runtime/ contains files generated during runtime
|
|
|
|
views/ contains view files for the Web application
|
|
|
|
web/ contains the entry script and Web resources
|
|
|
|
vendor/ contains dependent 3rd-party packages
|
|
|
|
environments/ contains environment-based overrides
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
REQUIREMENTS
|
|
|
|
------------
|
|
|
|
|
|
|
|
The minimum requirement by this application template that your Web server supports PHP 5.4.0.
|
|
|
|
|
|
|
|
|
|
|
|
INSTALLATION
|
|
|
|
------------
|
|
|
|
|
|
|
|
### Install from an Archive File
|
|
|
|
|
|
|
|
Extract the archive file downloaded from [yiiframework.com](http://www.yiiframework.com/download/) to
|
|
|
|
a directory named `advanced` that is directly under the Web root.
|
|
|
|
|
|
|
|
Then follow the instructions given in "GETTING STARTED".
|
|
|
|
|
|
|
|
|
|
|
|
### Install via Composer
|
|
|
|
|
|
|
|
If you do not have [Composer](http://getcomposer.org/), you may install it by following the instructions
|
|
|
|
at [getcomposer.org](http://getcomposer.org/doc/00-intro.md#installation-nix).
|
|
|
|
|
|
|
|
You can then install the application using the following command:
|
|
|
|
|
|
|
|
~~~
|
|
|
|
php composer.phar create-project --stability=alpha yiisoft/yii2-app-advanced advanced
|
|
|
|
~~~
|
|
|
|
|
|
|
|
After the application is installed, switch to the project folder and run the following command
|
|
|
|
to initialize the application:
|
|
|
|
|
|
|
|
~~~
|
|
|
|
./init (or "init" on Windows)
|
|
|
|
~~~
|
|
|
|
|
|
|
|
You can then access the application through the following URLs,
|
|
|
|
|
|
|
|
~~~
|
|
|
|
http://localhost/advanced/frontend/web/
|
|
|
|
http://localhost/advanced/backend/web/
|
|
|
|
~~~
|
|
|
|
|
|
|
|
|
|
|
|
GETTING STARTED
|
|
|
|
---------------
|
|
|
|
|
|
|
|
After you install the application, you have to conduct the following steps to initialize
|
|
|
|
the installed application. You only need to do these once for all.
|
|
|
|
|
|
|
|
1. Run command `init` to initialize the application with a specific environment.
|
|
|
|
2. Create a new database and adjust the `components.db` configuration in `common/config/params.php` accordingly.
|
|
|
|
3. Run command `yii migrate` to apply DB migrations.
|
|
|
|
|
|
|
|
Now you should be able to access:
|
|
|
|
|
|
|
|
- the frontend using the URL `http://localhost/advanced/frontend/web/`
|
|
|
|
- the backend using the URL `http://localhost/advanced/backend/web/`
|