Если вы еще не знакомы с предыдущей версией фреймворка, то можете это сделать в обзоре Yii. Yii 3  - это второе по масштабности переделывание фреймворка, версия Yii2 также значительно отличается от Yii1.

 

Как сильно изменится Yii

На данный момент есть только alpha версия Yii3, большая часть кода в которой находится в разработке. Содержимое кода и структура фреймворка меняется, поэтому не стоит начинать разработку на alpha, а стоит дождаться рабочего релиза. Однако уже сейчас Yii3 можно попробовать, установив демо версию.

 

Что добавлено нового в Yii3?

Разделение на пакеты

Архитектура фреймворка разбита на отдельные пакеты, что позволит при разработке приложения подключать только необходимые. Так как все пакеты будут выпущены отдельно, то это поможет выстраивать гибкие приложения и разработчики смогут проводить более частые обновления.

 

Независимый JavaScript

Если в Yii2 исходный код всего фреймворка базировался на встроенном jQuery, то в Yii3 было решено отказаться от этого в пользу независимого JavaScript. Это упростит использование других библиотек и фреймворков для frontend разработчиков. jQuery при необходимости можно будет подключить самостоятельно или отдельным пакетом.


PSR совместимость

Yii3 будет совместим с PSR и следовать рекомендациям PHP-FIG при разработке логирования, кэша, DI и тому подобного.


Автозагрузка

Пользовательский автозагрузчик класса PHP был удален для реализации Composer PSR-4. Чтобы Yii3 распознал классы, нужно явно указать свое пространство имен в composer.json.

 

Конфигурация приложения

Yii2 использует все настройки приложения в одном файле config/main.php что может приводить к увеличению размеров файла и сложности понимания его содержимого. В Yii3 каждый подключенный пакет будет иметь свою конфигурацию, которую при необходимости можно переопределить.

 

Пакеты Yii3

В Yii3 представлены следующие пакеты:

Фреймворк:

  • yiisoft/yii-core - Ядро фреймворка
  • yiisoft/yii-console - Расширение Console
  • yiisoft/yii-web - Web-расширение
  • yiisoft/yii-rest - REST-расширение

 

Шаблон проекта Yii и базового приложения:

  • yiisoft/yii-project-template - Шаблон Yii Framework Project
  • yiisoft/yii-base-web - База веб-приложений Yii Framework
  • yiisoft/yii-base-api - База приложений API Yii Framework
  • yiisoft/yii-base-cli - Yii Framework CLI Application Base

 

Виджеты и обертки:

  • yiisoft/yii-bootstrap3 - Yii Framework Bootstrap3 Расширение
  • yiisoft/yii-bootstrap4 - Yii Framework Bootstrap4 Расширение
  • yiisoft/yii-dataview - Расширение отображения данных Yii Framework
  • yiisoft/yii-masked-input - Расширение виджета ввода маски Yii Framework

 

Инструменты:

  • yiisoft/yii-debug - Расширение панели отладки Yii Framework
  • yiisoft/yii-gii - Расширение генератора кода Yii Framework
  • yiisoft/yii-dev - Набор инструментов для Yii Framework

 

Разное:

  • yiisoft/yii-jquery - Yii Framework Расширение jQuery
  • yiisoft/yii-captcha - Расширение Yii Framework CAPTCHA
  • yiisoft/yii-swiftmailer - Расширение Yii Framework Swift Mailer
  • yiisoft/yii-twig - Расширение ветки Yii Framework
  • yiisoft/yii-http-client - Расширение HTTP-клиента Yii Framework
  • yiisoft/yii-auth-client - Расширение внешней аутентификации Yii Framework

 

Библиотеки Yii:

  • yiisoft/log - Yii Logging Library
  • yiisoft/di - Библиотека внедрения зависимостей Yii
  • yiisoft/cache - Yii Caching Library
  • yiisoft/db - Библиотека абстракций базы данных Yii
  • yiisoft/active-record - Yii Active Record Library
  • yiisoft/rbac - Библиотека управления доступом на основе ролей Yii
  • yiisoft/view - Библиотека рендеринга Yii View
  • yiisoft/mutex - Библиотека Yii Mutex

 

Драйверы БД:

  • yiisoft/db-mysql -Поддержка MySQL для Yii
  • yiisoft/db-mssql -Поддержка MSSQL для Yii
  • yiisoft/db-pgsql - Поддержка PostgreSQL для Yii
  • yiisoft/db-sqlite - Поддержка SQLite для Yii
  • yiisoft/db-oracle - Поддержка базы данных Oracle для Yii

 

Драйверы NoSQL DB:

  • yiisoft/db-sphinx - Yii Framework Sphinx Extension
  • yiisoft/db-redis - Расширение Yii Framework Redis
  • yiisoft/db-mongodb - Расширение Yii Framework MongoDB
  • yiisoft/db-elasticsearch - Расширение Yii Framework ElasticSearch

 

Когда выйдет Yii3?

Точная дата выхода Yii3 неизвестна. Можно лишь предполагать, что фреймворк выйдет не раньше зимы 2019 года.

Статья по теме: интервью с разработчиком Yii Александром Макаровым.