dev-master
9999999-dev http://www.yiiframework.com/Yii 2 Advanced Project Template (with api)
BSD-3-Clause
The Requires
The Development Requires
framework yii2 advanced project template
Wallogit.com
2017 © Pedro Peláez
Yii 2 Advanced Project Template (with api)
Yii 2 API Project Template is a skeleton Yii 2 application best for developing complex Web applications with multiple tiers., (*1)
The template includes four tiers: front end, back end, api, and console, each of which is a separate Yii application., (*2)
The template is designed to work in a team development environment. It supports deploying the application in different environments., (*3)
api
config/ contains api configurations
controllers/ contains Web controller classes
models/ contains api-specific model classes
runtime/ contains files generated during runtime
modules/ contains api versioning
v1/ contains module version 1
web/ contains the entry script and Web resources
common
config/ contains shared configurations
mail/ contains view files for e-mails
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
widgets/ contains frontend widgets
vendor/ contains dependent 3rd-party packages
environments/ contains environment-based overrides
tests contains various tests for the advanced application
codeception/ contains tests developed with Codeception PHP Testing Framework
If you do not have Composer, you may install it by following the instructions at getcomposer.org., (*5)
You can then install this project template using the following command:, (*6)
composer global require "fxp/composer-asset-plugin:~1.0.0" composer create-project --prefer-dist --stability=dev wfcreations/yii2-app-api app
Now you should be able to access the application through the following URL, assuming app is the directory
directly under the Web root., (*7)
http://localhost/app/api/web/ http://localhost/app/backend/web/ http://localhost/app/frontend/web/
Edit the file common/config/db.php with real data, for example:, (*8)
return [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=yii2app',
'username' => 'root',
'password' => '1234',
'charset' => 'utf8',
];
NOTE: Yii won't create the database for you, this has to be done manually before you can access it., (*9)
To let the API accept input data in JSON format, configure the [[yii\web\Request::$parsers]] property of
the request application component
to use the [[yii\web\JsonParser]] for JSON input:, (*10)
'request' => [
'parsers' => [
'application/json' => 'yii\web\JsonParser',
]
]
Info: The above configuration is optional. Without the above configuration, the API would only recognize
application/x-www-form-urlencodedandmultipart/form-datainput formats., (*11)
Yii 2 Advanced Project Template (with api)
BSD-3-Clause
framework yii2 advanced project template