Learn YII with Real Code Examples
Updated Nov 27, 2025
Installation Setup
Install PHP (>=8.0) and a web server (Apache/Nginx)
Run `composer create-project yiisoft/yii2-app-basic project-name`
Configure database in `config/db.php`
Run `php yii serve` to start the development server
Optional: use Yii2 Advanced Template for multi-tier applications
Environment Setup
Install PHP 8+, Composer, and web server
Create Yii project via Composer
Configure database and environment variables
Run migrations and Gii code generation
Start development server or Docker container
Config Files
config/web.php - main application config
config/console.php - console command config
config/db.php - database connection settings
composer.json - dependency management
.env - environment variables
Cli Commands
php yii serve
php yii gii
php yii migrate
php yii cache/flush-all
php yii test
Internationalization
Language files in `messages/`
Templates support translations
Validation messages localized
Supports multiple locales
Community-contributed language packs
Accessibility
Accessible via web browser
Console commands via Yii CLI
API endpoints for programmatic access
Middleware for access control
Localization support
Ui Styling
Views with PHP templates and widgets
Supports Bootstrap, jQuery, and frontend frameworks
Layout and theming system for consistent UI
Integration with Vue, React via extensions
Internationalization support in views
State Management
Sessions stored in files, database, or cache
Cache supports Redis, Memcached, and database
Active Record handles schema and data state
Console commands maintain job state
Events and behaviors track asynchronous actions
Data Management
Active Record models manage database
Migrations version control schema
Fixtures populate test or seed data
Queue extensions handle background jobs
Cache manages temporary data efficiently