Yii 2 Advanced Project Template is a skeleton Yii 2 application best for
developing complex Web applications with multiple tiers., (*1)
The template includes three tiers: front end, back end, 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)
Documentation is at docs/guide/README.md., (*4)
, (*5)
DIRECTORY STRUCTURE
common
config/ contains shared configurations
mail/ contains view files for e-mails
models/ contains model classes used in both backend and frontend
tests/ contains tests for common classes
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
tests/ contains tests for backend application
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
tests/ contains tests for frontend application
views/ contains view files for the Web application
web/ contains the entry script and Web resources
widgets/ contains frontend widgets
storage
uploads/ contains files that are not supposed to be public facing (not reachable by web directly)
assets/ contains files that are shared assets for apps (backend/frontend) by asset manager such as JavaScript and CSS
vendor/ contains dependent 3rd-party packages
environments/ contains environment-based overrides
docker
mysql/ contains mysql configuration and database
data/ contains a single SQL to bootstrap first time (can be empty)
db/ contains files from actual DB to persist between docker changes
nginx/ contains nginx configuration for backend/frontend (exposed via docker-compose)
php/ contains configuration override for PHP