Part 1. Introduction.

Yii3 are a set of agnostic packages that facilitate the creation of a web application, API or console. Its strength is to use what we only need, in this way, we will only have dependencies that we will use throughout the development of our project.

We are now going to give an explanation of the packages that make up a standard application in Yii3:

Yii Application Template: Template Yii3

  1. HTTP Message. This package is a lightweight, fast, high-performance and strict implementation of the PSR-7 HTTP Message and PSR-17 HTTP Factories.
  2. Container interface. This repository holds all interfaces related to PSR-11 (Container Interface).
  3. PSR Http Message. This repository holds all interfaces/classes/traits related to PSR-7.
  4. HTTP Server Request Handlers for Middleware. This repository holds the RequestHandlerInterface related to PSR-15 (HTTP Server Request Handlers).
  5. Symfony console component. The Console component eases the creation of beautiful and testable command line interfaces.
  6. PHP dotenv. Loads environment variables from .env to getenv(), $_ENV and $_SERVER automagically.
  7. Yii aliases. The package aim is to store path aliases, i.e. short name representing a long path (a file path, a URL, etc.). Path alias value may have another value as its part. For example, @vendor may store path to vendor directory while @bin may store @vendor/bin.
  8. Yii assets. The package implements client-side asset (such as CSS and JavaScript) management for PHP. It helps resolve dependencies and get lists of files ready for generating HTML <script> and <link>tags.
  9. Yii cache. This library is a wrapper around PSR-16 compatible caching libraries providing own features. It is used in Yii Framework  but is usable separately.
  10. Yii cache-file. This package implements file-based PSR-16 cache.
  11. Yii config. This Composer plugin provides assembling of configurations distributed with composer packages. It allows putting configuration needed to use a package right inside thus implementing a plugin system. The package becomes a plugin holding both the code and its configuration.
  12. Yii csrf. The package provides PSR-15 middleware for CSRF protection.