YiiFramework Новости Yii 2020, выпуск 4

Sam Dark

Новичок
Это второй выпуск новостей, выпущенный на карантине. С прошлого выпуска карантинные меры несколько усилили. Кое-что успело подстроиться и прийти в норму, но много нет. В любом случае, пока, на сколько я знаю, в сообществе Yii все живы и здоровы, так что карантин мы точно переживём и останавливаться не собираемся.
Как многие знают, я собираю конференцию PHP Russia и вирус, конечно же, на неё повлиял. Плохо то, что пришлось её перенести (пока это сентябрь, но как получится на самом деле не знает никто). Хорошая новость в том, что 13 мая состоится бесплатная PHP Russia Online. Заходите, участвуйте. Единственно, необходимо зарегистрироваться заранее. Сам я в этот раз не выступаю, но уверен, что к выходу Yii 3 мы сделаем ещё один YiiConf.
Будьте здоровы и спасибо за поддержку!
Yii 2
Вышли новые версии как самого фреймворка, так и расширений.
Yii 3
Если вы читали предыдущий выпуск, то знаете что у нас есть Trello доска с планами по Yii 3.
А теперь про то, что было сделано.
  • Во-первых, была выпущена стабильная версия пакета Injector. Пакет на 100% покрыт тестами и имеет довольно высокую оценку по качеству кода. Доступно руководство по использованию и алгоритму работы. Так как пакет фреймворко-независимый, то использовать его можно с любым PHP кодом. В Yii 3 пакет является очень важным и используется для авто-подстановки зависимостей в обработчиках роутов и виджетах.
  • Пакет strings пополнился методами StringHelper::truncateBegin() и StringHelper::truncateMiddle().
  • Были добавлены новые тесты в Queue. Сам пакет ещё в разработке.
  • В router сделаны важные исправления и улучшения. Он стал более производительным из-за ленивой загрузки всего. Конфигурация несколько поменяла синтаксис.
  • HeaderHelper, помогающий разбирать заголовки HTTP, был перенесён из yii-web в http.
  • Метаданные PhpStorm были добавлены в http и yii-web. С ними дополнение в IDE и проверки будут работать ещё лучше.
  • Веб приложение обзавелось новым событием AfterEmit.
  • Был реализован удобный способ формирования ответов данными и их форматирования в JSON, XML и другие форматы. Он станет основной для реализации основанных на API приложений.
  • event-dispatcher ConcreteProvider был объединён с Provider. Также было запрещено напрямую добавлять обработчики событий во время выполнения приложения.
  • Пакет yii-debug был лучше интегрирован с event manager. UI пока не готов.
  • Пакет validator пополнился правилами AtLeast и Json.
  • Код mailer был почищен.
  • Фабрика пакет widget теперь инициализируется автоматически, регистрировать её явно в приложении больше не нужно.
  • Мы оттестировали совместимость с Composer 2 всех используемых нами плагинов. В результате поправлен fxpio/foxy, который используется для установки ресурсов пакета Bootstrap 4.
  • Для composer-config-plugin были написаны тесты и произведён серьёзный рефакторинг. Также плагин теперь полностью совместим с Composer 2.
  • Проблемы с сессиями в yii-web были исправлены.
  • В пакете RBAC был реализован рекурсивный поиск ролей.
  • В пакет array добавлены модификаторы массива. Это специальные маркеры, которые меняют способ слияния массивов, что полезно для конфигов. Метод multisort был перемещён в отдельный класс ArraySorter.
  • factory и di были почищены и улучшены, включая производительность. Стало возможным передавать параметры конструктора по имени или порядку. Также добавлена поддержка конфигурирования иммутабельных объектов.
  • Все виджеты теперь иммутабельные.
  • KeysetPaginator из пакета data был отрефакторен. Пример его использования добавлен в демо.
  • Был создан пакет yii-form. Он ещё в очень активной разработке, но уже делает приятней работу с формами.
  • Rate limiter переехал в отдельный пакет.
  • Отрефакторен код cookies, добавлена коллекция.
  • В пакет Yii demo были добавлены примерны многих улучшений, перечисленных выше. Также был добавлен удобный способ объявлять обработчики событий.
Нам очень важна конструктивная критика. Оставляйте её в issue соответствующего пакета или на форумах.
Новые и переработанные внутренние соглашения:
Рекомендации к чтению
Фонд
Коронавирус заставил отложить проверку некоторых интересных идей по пополнению фонда Yii и ухудшил мою финансовую ситуацию. Чтобы не разорять фонд и поддерживать из него контрибьюторов, пришлось взять немого коммерческого консалтинга.
Благодаря фонду удалось дать больше времени на Yii roxblnfk и Wilmer Arambula. В планах расширить это на других разработчиков.
На странице OpenCollective мы более чётко определили политику выплат.
❤ Спасибо!
Хочу сказать спасибо всем спонсорам и разработчикам, благодаря которым стала возможна разработка Yii 3. Вместе у нас всё получится.
Отдельное спасибо тем, кто помог Yii 3 кодом:
читать далее...
 
Последнее редактирование:

grigori

( ͡° ͜ʖ ͡°)
Команда форума
конечно, PR, я в своих образах проблемы с Alpine порешал, при смене версий OS меняются названия пакетов
 
Сверху