Yii2 Enterprise Application Template
Yii 2 Enterprise Application Template is a skeleton Yii 2 application best for rapidly creating enterprise projects., (*1)
Basis on wfcreations/yii2-app-api, (*2)
Development:
, (*3)
, (*4)
Travis CI: , (*5)
Scrunitizer:
, (*6)
Information about develop: https://trello.com/b/9VO2RT9g/yii2-enterprise., (*7)
Roadmap, (*8)
Documentation is at docs/guide/README.md., (*9)
REQUIREMENTS
The minimum requirement by this application template that your Web server supports PHP 5.4.0., (*10)
DIRECTORY STRUCTURE
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
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
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
MODULES INCLUDED
VIRTUAL MACHINE
Important: Only for testing., (*11)
Created on PuPHPet.com., (*12)
How to
vagrant up
MailCatcher
Open in browser: http://yii2enterprise.dev:8025/ or http://192.168.56.101:8025/, (*13)
INSTALLATION
Install from an Archive File
Extract the github archive file to a directory named yii2-enterprise
that is directly under the Web root., (*14)
After extraction run, (*15)
php composer.phar global require "fxp/composer-asset-plugin:~1.1.1"
php composer.phar install
You can then access the application through the following URL:, (*16)
http://localhost/yii2-enterprise/frontend/web/
Install via Composer
If you do not have Composer, you may install it by following the instructions
at getcomposer.org., (*17)
You can then install this application template using the following command:, (*18)
composer global require "fxp/composer-asset-plugin:~1.1.1"
php composer.phar create-project --prefer-dist --stability=dev sibds/yii2-enterprise app
Now you should be able to access the application through the following URL, assuming app
is the directory
directly under the Web root., (*19)
http://localhost/app/api/web/
http://localhost/app/backend/web/
http://localhost/app/frontend/web/
CONFIGURATION
Database
Edit the file common/config/db.php
with real data, for example:, (*20)
return [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=yii2-enterprise',
'username' => 'root',
'password' => '123',
'charset' => 'utf8',
];
NOTE: Yii won't create the database for you, this has to be done manually before you can access it., (*21)
Also check and edit the other files in the config/
directory to customize your application., (*22)
Apply migrations
How configure migrations., (*23)
php yii migrate
Problem with migrations
- Try comment in file
common/config/main.php
the following lines:
'audit' => [
'class' => 'bedezign\yii2\audit\Audit'
],
after migration complition, uncomment these lines., (*24)
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:, (*25)
'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-urlencoded
and multipart/form-data
input formats., (*26)
IMPORTANT: without rbac/init you CAN'T LOG IN into backend, (*27)
Demo user
Login: webmaster
Password: webmaster