[PHP, Yii] Новости Yii 2020, выпуск 7

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
12-Ноя-2020 05:31

Новости Yii 2020, выпуск 7
Всем привет! Это очередной выпуск новостей Yii. Как обычно, в выпуске вас ждут релизы Yii 2, прогресс Yii 3, важные вести о Yii 1 и другие новости. Приятного чтения и будьте здоровы. — Александр Макаров
Фонд
С прошлого выпуска пришлось прилично отвлечься на фонд, а именно на то, как средства перебрасываются из GitHub Sponsors в OpenCollective. С GitHub они уходили нормально, а вот куда — большой вопрос. Потребовалось время, чтобы разобраться, но проблему удалось решить.
Ещё одна новость, частично связанная с фондом. Автор httpsoft/http-message, Евгений Зюбин, вероятно присоединится к команде фулл-тайм если/когда это позволит пополнение фонда. Если вы или ваша компания хотите получить Yii 3 раньше, можете помочь.
Инфраструктура
Мы постоянно улучшаем процесс тестирования пакетов:
  • В пакеты со стабильной версией добавлена проверка Roave backwards compatibility.
    Она проверяет что публичный API не сломан по-сравнению с предыдущим стабильным релизом.
  • Мы продолжили перевод тестов с Travis на GitHub actions как для Yii 2, так и для Yii 3. Actions классные, а Travis не так давно порезал поддержку OpenSource. Хорошо что мы начали переход заранее.
  • Мы решили не собирать покрытие кода через PHPUnit с последующей отсылкой его в Scrutinizer CI и теперь генерируем отчёт о покрытии средствами Scrutinizer. Это значительно быстрее, а результат тот же.
  • Отлично себя показал Psalm. Рекомендуем, в том числе, для ваших проектов.
  • В консоль GitHub actions теперь всё выводится в цвете. Выглядит значительно лучше!

Немного правок были сделаны на сайте. Прежде всего это переход на новый метод аутентификации GitHub API. Также был сделан ряд небольших улучшений фронтенда.
Патчи для совместимости с PHPUnit для Yii 2 и Yii 1 переехали в отдельный репозиторий. Если вдруг вам понадобится тестировать приложение на версиях PHP с 5.3 по 8, репозиторий будет определённо полезен.
Yii 1

Yii 2
Был выпущен Yii 2.0.39. В нём есть улучшения DI-контейнера и дополнительные исправления для работы с PHP 8.
Чуть менее заметное улучшение коснулось способа генерации аннотаций для магических свойств. Теперь некоторые IDE, включая PhpStorm, будут отличать свойства только для чтения и только для записи.
Были выпущены новые версии следующих расширений:

Yii 3
С прошлого выпуска были сделаны следующие релизы:

На данный момент мы готовим пакеты из списка в карточке Trello.
Был принят ряд интересных решений:
  • Все стабильные релизы будут начинаться с версии 1.0.0. Ранее рассматривался вариант начинать с 3.0.0.
  • Пакеты Yii 3.0 буду поддерживать PHP 7.4.
  • В большинство пакетов добавлена конфигурация по-умолчанию. Они будут работать сразу после установки без дополнительной конфигурации или с очень минимальной конфигурацией.
  • Провайдеры конфигурации были удалены почти из всех пакетов и приложений.

В Trello есть доска с задачами, над которыми мы работаем, включая не отражённые в GitHub issue.
Почти каждый из пакетов был серьёзно почищен, получил совместимость с PHP 8 и исправления. Ниже представлено самое интересное.
Новые пакеты
Был создан ряд новых пакетов. Часть из них появились в результате выделения общего кода из других пакетов, а часть — нет.

Инструменты для разработки
  • Были актуализированы зависимости и добавлен Dockerfile.
  • Реализована возможность полу-автоматического выпуска релизов.

Composer config plugin
Была добавлена временная поддержка PHP 8. Она не заменяет вариант с переписыванием плагина на AST и нужна для того, чтобы облегчить тестирование под PHP 8 в то время как мы занимаемся версией с AST.
Контейнер и фабрика

Кеш

Bulma
  • Больше документации, улучшено именование.
  • Добавлена возможность использовать значки в выпадающем меню.
  • Все виджеты сделаны иммутабельными.

Роутер
  • Внутренности и конфигурация упрощены путём выделения коллекции маршрутов в отдельный класс.
  • Метод UrlMatcherInterface::getLastMatchedRequest() удалён, добавлен getCurrentUri().
  • UrlMatcher теперь является опциональным, что хорошо сочетается с консольными приложениями.

Шаблоны приложений и демо
  • Больше не требуется NodeJs. Ресурсы забираются через asset packagist.
  • Конфиги значительно почищены. В app мы поделили их по разным пакетам.
  • Убрана ссылка контейнера на себя.
  • В yii-demo добавлен Swagger. Открывается через /swagger.
  • yii-demo подвергся рефакторингу.
  • Заменили в yii-demo реализацию PSR-7 на httpsoft/http-message.

Var dumper

Files

Cycle
  • В файловую схему теперь можно писать. Также в неё добавлена поддержка чтения из нескольких файлов.
  • Был задействованы наши DI контейнер / фабрика, так что интеграция с Cycle теперь работает на PHP 8.

Data

DBAL и ActiveRecord
Как DBAL, так и ActiveRecord, портированные с Yii 2, ещё рефакторить и рефакторить несмотря на то, что их серьёзно почистили и они, по большей части, работают.
Arrays

HTML

Debugger

Очереди

Translator
Пакеты i18n помечены как устаревшие, добавлены пакеты translator с новым дизайном.
Новая и изменённая документация

Рекомендации к чтению и другие новости

️Спасибо!
Хочу сказать спасибо всем спонсорам и разработчикам, благодаря которым стала возможна разработка Yii 3. Вместе у нас всё получится.
Отдельное спасибо тем, кто помог Yii 3 кодом:

===========
Источник:
habr.com
===========

Похожие новости: Теги для поиска: #_php, #_yii, #_yii, #_yii_2, #_yii_3, #_framework, #_php, #_php_8, #_phpunit, #_php, #_yii
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 23-Ноя 01:35
Часовой пояс: UTC + 5