A modern, Bootstrap 5-powered Yii2 application template for rapid development
Clean architecture, production-ready features, and developer-friendly configuration
Features
Available deployment options
Traditional Web Servers
Classic web-server + PHP-FPM setup; simple and widely supported for deployment.
High-Performance Worker Mode
Long-running PHP workers for higher throughput and lower latency.
Important
For setup instructions, see README.md in each branch.
How it works
The Yii2 Web Application Basic template provides a complete foundation for building modern web applications. Unlike starting from scratch, this template includes.
- Pre-configured structure with organized directories for assets, views, models, and controllers.
- Bootstrap 5 integration for responsive, mobile-first user interfaces.
- Security features including CSRF protection and input validation.
- Development tools for debugging, logging, and testing.
Why use this template
- Rapid development: Start building features immediately without setup overhead.
- Best practices: Follow Yii2 conventions and modern web development standards.
- Extensible: Easy to customize and extend for specific project requirements.
- Production-ready: Includes security features and optimizations for deployment.
Note
Also, make sure to install npm for frontend dependency management.
Installation
composer create-project --prefer-dist yii2-extensions/app-basic:^0.1 app-basic
cd app-basicQuick start
Start development server
# Using built-in PHP server php -S localhost:8080 -t web # Or using Yii console command ./yii serve
Important
Your application will be available at http://localhost:8080 or at the address set in --address option.
Directory structure
root/
├── config/ Configuration files
│ ├── common/ Common configuration
│ ├── console/ Console configuration
│ ├── web/ Web configuration
│ └── messages.php Translation config
├── src/
│ ├── framework/ Framework assets & resources
│ │ ├── asset/ Asset bundles
│ │ └── resource/ CSS, JS, layouts, messages
│ └── usecase/ Application use cases
│ ├── hello/ Console command example
│ └── site/ Site pages
├── tests/ Test suites
├── vendor/ Composer dependencies
└── web/ Web server document root
Creating your first page
<?php // src/usecase/site/SiteController.php declare(strict_types=1); namespace app\usecase\site; use yii\web\Controller; final class SiteController extends Controller { public function actionIndex(): string { return $this->render('index'); } }
Console commands
# Run the hello command ./yii hello/index # Generate translations ./yii message config/messages.php # Clear cache ./yii cache/flush-all
Package information
Quality code
Documentation
For detailed configuration options and advanced usage: