早在2018年的12月16日,Yii Framework官方就发布了一篇文章(draft) Understanding Yii 3 【理解Yii 3】

Yii 3是Yii框架的第二次重写。

最初从2.1分支开始,后来因为所有向后兼容性破坏而决定切换到3.X系列。

从3.0开始,Yii将遵循Sementic Versionning。这个重写解决了Yii 2遭受的许多问题,比如框架与jQuery,bower,bootstrap相结合。

变更概述

以下是Yii 3中的主要更改。您可以查看完整的CHANGELOG以获取详尽的列表。

源代码分裂

框架源代码已被拆分为多个包,并且在其核心级别,Yii不再对您的开发堆栈或您将使用的功能进行假设。

这使您可以选择组成应用程序所需的软件包。

这种重组也是维护的好消息,因为这些包将单独发布,从而允许更频繁的更新。

自动加载

已删除自定义PHP类自动加载器,以支持 Composer 的 PSR-4 实现。 这意味着为了让Yii看到你的类,你必须在 composer.json 中显式注册你的命名空间。 我们稍后会看到一个例子。

PSR兼容性

通过实现以下PSR,Yii 3在 PHP-FIG 建议之后采取了一些积极的步骤:

现在,日志记录符合PSR-3

缓存现在符合PSR-16

依赖注入现在符合PSR-11

应用配置

如果您曾经使用Yii 2安装了扩展程序,您可能/当然已经找到了自己的扩展 README 文件,在您自己的config/ main.php文件中查找要复制/粘贴的配置块。

这通常会导致:

一个巨大的配置文件(您可能决定将其拆分为较小的文件) 当使用新的/更改的配置选项重新发布新版本的扩展时,将更新非平凡配置。

Yii3 采用了另一种方法。 每个软件包捆绑自己的配置,可能会开箱即用。 如果需要,您可以从配置文件中覆盖它们。

这一切都是通过利用 hiqdev/composer-config-plugin composer插件完成的,该插件在您运行 composer dump-autoload(也称为composer du)时负责扫描和合并所有配置。

您可以阅读 Yii2 projects alternative organization,以深入解释 hiqdev/composer-config-plugin 背后的动机。

软件包作者将有责任通过严格的版本化版本来避免引入BC中断。

依赖注入

...

等等等等。。。。

一直手痒,今天终于腾出时间,本地安装一下~~

composer create-project --prefer-dist --stability=dev yiisoft/yii-project-template myYii3
cd myYii3
composer require "foxy/foxy:^1.0.0"
composer require yiisoft/yii-base-web
vendor/bin/yii serve

Server started on http://localhost:8080/
Document root is "public"
Quit the server with CTRL-C or COMMAND-C.

在浏览器中输入http://localhost:8080/,即可看到如下界面~

图1