yiisoft / app
Yii3 web application template
Fund package maintenance!
Opencollective
yiisoft
Installs: 7 477
Dependents: 0
Suggesters: 0
Security: 0
Stars: 255
Watchers: 31
Forks: 52
Open Issues: 5
Type:project
Requires
- php: ^8.2
- ext-filter: *
- httpsoft/http-message: ^1.1.6
- psr/container: ^2.0.2
- psr/http-factory: ^1.1
- psr/http-message: ^2.0
- psr/http-server-handler: ^1.0.2
- psr/log: ^3.0.2
- symfony/console: ^7.3.2
- yiisoft/aliases: ^3.1
- yiisoft/assets: ^5.1.1
- yiisoft/config: ^1.6
- yiisoft/csrf: ^2.2.2
- yiisoft/data-response: ^2.1.1
- yiisoft/definitions: ^3.4
- yiisoft/di: ^1.4
- yiisoft/error-handler: ^4.2
- yiisoft/html: ^3.11
- yiisoft/http: ^1.2
- yiisoft/input-http: ^1.0
- yiisoft/log: ^2.1.1
- yiisoft/log-target-file: ^3.0
- yiisoft/middleware-dispatcher: ^5.3
- yiisoft/request-provider: ^1.2
- yiisoft/router: ^4
- yiisoft/router-fastroute: ^4.0.1
- yiisoft/session: ^3.0
- yiisoft/view: ^12.2.1
- yiisoft/yii-console: ^2.3
- yiisoft/yii-http: ^1.0.4
- yiisoft/yii-runner-console: ^2.2
- yiisoft/yii-runner-http: ^3.2
- yiisoft/yii-view-renderer: ^7.3
Requires (Dev)
- codeception/c3: ^2.9
- codeception/codeception: ^5.3.2
- codeception/module-asserts: ^3.2
- codeception/module-cli: ^2.0.1
- codeception/module-phpbrowser: ^3.0.1
- friendsofphp/php-cs-fixer: ^3.86.0
- phpunit/phpunit: ^11.5.34
- rector/rector: ^2.1.4
- roave/infection-static-analysis-plugin: ^1.39
- roave/security-advisories: dev-latest
- shipmonk/composer-dependency-analyser: ^1.8.3
- vimeo/psalm: ^6.13.1
This package is auto-updated.
Last update: 2025-08-29 13:27:27 UTC
README
Yii3 web application
An application template for a new web project
The package is a classic web application template. If you need console only or API please start with corresponding templates:
Requirements
- PHP 8.2 or higher.
Installation
Local installation
If you do not have Composer, you may install it by following the instructions at getcomposer.org.
Create a project:
composer create-project yiisoft/app myproject
cd myproject
To run the app:
APP_ENV=dev ./yii serve
Now you should be able to access the application through the URL printed to console.
Usually it is http://localhost:8080
.
Installation with Docker
Fork the repository, clone it, then:
cd myproject
make composer update
To run the app:
make up
To stop the app:
make down
The application is available at https://localhost
.
Other make commands are available in the Makefile
and can be listed with:
make help
Directory structure
The application template has the following structure:
assets/ Asset bundle source files.
config/ Configuration files.
common/ Common configuration and DI definitions.
console/ Console-specific configuration.
environments/ Environment-specific configuration (dev/test/prod).
web/ Web-specific configuration.
docker/ Docker-specific files.
docs/ Documentation.
public/ Files publically accessible from the Internet.
assets/ Published/compiled assets.
index.php Entry script.
runtime/ Files generated during runtime.
src/ Application source code.
Command/ Console commands.
Controller/ Web controller classes with templates.
Handler/ Request handlers (e.g., NotFound).
Layout/ Layout components and templates.
ApplicationParams.php Application parameters class.
Environment.php Environment configuration class.
tests/ A set of Codeception tests for the application.
Console/ Console command tests.
Functional/ Functional tests.
Unit/ Unit tests.
Web/ Web interface tests.
vendor/ Installed Composer packages.
Makefile Config for make command.
yii Console application entry point.
Testing
The template comes with ready to use Codeception configuration. To execute tests, in local installation run:
./vendor/bin/codecept build APP_ENV=test ./yii serve > ./runtime/yii.log 2>&1 & ./vendor/bin/codecept run
For Docker:
make codecept build make codecept run
Static analysis
The code is statically analyzed with Psalm. To run static analysis:
./vendor/bin/psalm
or, using Docker:
make psalm
Support
If you need help or have a question, check out Yii Community Resources.
License
The Yii3 web application template is free software. It is released under the terms of the BSD License.
Please see LICENSE
for more information.
Maintained by Yii Software.