New composer packages

How was Yii 2 split into several packages

Here are the new packages introduced in Yii 3, from this official list.

The Framework

The new heart of Yii + 3 main extensions.
  • yiisoft/yii-core : This is the new kernel of Yii. It defines the base framework and its core features like behaviors, i18n, mail, validation..

Then there's three important packages, considered as Extensions.

Each one is responsible for implementing the core functionalities of the channel they refer to:

  • yiisoft/yii-console: implements the bases to build a console application (the base Controller for commands, the Command helper, ..)
  • yiisoft/yii-web: implements all that you need to build a web application (Assets management, Sessions, Request handling ..)
  • yiisoft/yii-rest: implements all that you need to build a REST interface (ActiveController, ..)

Other Extensions

Depend (at least) on yii-core.

The conventional package naming is yiisoft/yii-something.

Aside from the 3 extensions already encountered above (yii-console, yii-web, yii-api), the following packages are available:

Development
View rendering engines
Data rendering
JS & CSS Frameworks integration
Widgets
Misc

Librairies

Do not depend on yii-core and meant to be usable outside the framework.

The conventional package naming is yiisoft/something, without the "yii-" prefix.

Drivers for yiisoft/db

The various drivers for DB have also been separated into packages:

Project template and application bases

To get you started with your next project.

This is a very basic Yii project template, that you can use to start your development.

You will probably want to pick one or more of these three bases to install in your project next:


The current on-going effort is to make the grid below all green:

active-record
cache
db
db-elasticsearch
db-mongodb
db-mssql
db-mysql
db-oracle
db-pgsql
db-redis
db-sphinx
db-sqlite
di
log
mutex
rbac
view
yii-auth-client
yii-base-api
yii-base-cli
yii-base-web
yii-bootstrap3
yii-bootstrap4
yii-captcha
yii-console
yii-core
yii-dataview
yii-debug
yii-gii
yii-http-client
yii-jquery
yii-masked-input
yii-project-template
yii-rest
yii-swiftmailer
yii-twig
yii-web

Below is a dependency graph between Yii 3 packages generated by scanning the require section of each package composer.json file.

credits