Difference between #3 and #4 of
(draft) Understanding Yii 3

Revision #4 has been created by Mehdi Achour on Dec 17, 2018, 9:08:11 PM with the memo:

Reorganize contents a bit, try details/summary tags
« previous (#3) next (#5) »


Title unchanged

(draft) Understanding Yii 3

Category unchanged


Yii version unchanged


Tags unchanged


Content changed

Yii 3 is the second major rewrite of the Yii framework.

> Originally started in the 2.1 branch, it was later decided to switch to the 3.X series because of all the backward compatibility breakage. Starting with 3.0, [Yii will follow the Sementic Versionning](https://www.yiiframework.com/news/177/yii-adopts-semver-since-version-3-0-0).

This rewrite addresses a lot of issues Yii 2 suffered from, like the framework being too coupled with jQuery, bower, bootstrap.

In order to achieve this, the framework source code have been split into several packages, and at its core level, Yii no longer makes assumptions about your web stack
 <small>[TODO: add more grieffs about Yii2]</small>
## Changes overview
Here are the main changes in Yii 3. You can check the complete [CHANGELOG](https://github.com/yiisoft/yii-core/blob/master/CHANGELOG.md#300-under-development) for an exhaustive list.
### Source code splitting
The framework source code have been split into several packages, and at its core level, Yii no longer makes assumptions about your development stack, or the features you will be using.
This enable you to cherry pick the packages you need to compose your application
. This re-organisation is also a great news for maintainance, as these packages will be maintained and released separately, thus allowing more frequent updates. It's also important to note that t### Autoloading
he custom PHP class autoloader have also been removed in favor of Composer's PSR-4 implementation. We will see the implications of this change later. Other new PSR changes:
 * Logging is now compliant with PSR-3
 * Caching is now compliant with PSR-16
 * Dependency Injection is now compliant with PSR-11
You can check the complete [CHANGELOG](https://github.com/yiisoft/yii-core/blob/master/CHANGELOG.md#300-under-development) for an exhaustive list of modifications.
### PSR compatibility
Yii 3 take some positive steps following the [PHP-FIG](https://www.php-fig.org/) recommendations, by implementing the following PSRs:
 * Logging is now compliant with PSR-3
 * Caching is now compliant with PSR-16
 * Dependency Injection is now compliant with PSR-11
### Application configuration
### Dependencies injection

## Yii 3 composer packages
Let's introduce them briefly:

<summary>The framework</summary>
### The Framework

* [yiisoft/yii-core](https://github.com/yiisoft/yii-core)
* `yii-web` implements all that you need to build a web application (Assets management, Sessions, Request handling ..)
* `yii-rest` implements all that you need to build a REST interface (ActiveController, ..)


### Librairies
* [yiisoft/db-mongodb](https://github.com/yiisoft/db-mongodb) MongoDB support
* [yiisoft/db-elasticsearch](https://github.com/yiisoft/db-elasticsearch) Elastic

### Extensions
* [yiisoft/yii-http-client](https://github.com/yiisoft/yii-http-client) HTTP client extension
* [yiisoft/yii-auth-client](https://github.com/yiisoft/yii-auth-client) External authentication extension
<summary>Yii project template and application bases</summary>

### Yii project template and application bases
Let's try running the web base template in the next section.
## Running your first Yii 3 powered application

Let's try running a web application using Yii 3, and the provided project template.

##### Installing the project template
38 0
Viewed: 156 212 times
Version: 3.0
Category: Tutorials
Tags: yii3
Written by: Mehdi Achour
Last updated by: samdark
Created on: Dec 16, 2018
Last updated: a year ago
Update Article


View all history