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