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

Sam Dark

Новичок
Этот новостной выпуск было написать довольно трудно. Не потому что не о чем писать, наоборот — Yii 3 улучшается с каждым днём и процесс настолько затягивает, что от него не оторваться 😅

🔷 Yii 2
  • simialbi реализовал перенос тестирования Yii 2 из Travis в Github actions. Это позволило сократить время на билды для коммитов и pull request-ов. Минус только в том, что actions пока менее стабильны, чем Travis: иногда случаются segfault-ы, проблемы со стартом сервисов и так далее. Именно поэтому пока мы решили не переводить на Github actions Yii 3, а сначала понаблюдать за Yii 2.
  • haveyaseen пропатчил PHPUnit для полной поддержки PHP 5.4 — 7.4, теперь тесты проходят без warning-ов.
  • Обновили модуль Codeception Yii 2 для поддержки мультисессий Codeception.
  • Релиз Twig 2.2.2 и 2.3.0.
  • Релиз Auth client 2.2.7.
  • Релиз Apidoc 2.1.3.
  • Релиз Sphinx 2.0.13.
🔶 Yii 3
Это не полный список, так как pull request-ов было очень много!

  • Пакет widget выделен из view и, наконец, принял законченную форму.
  • Было реализовано несколько стандартных виджетов Yii, они разместились в пакете yii-widgets.
  • Сделали черновую реализацию Bootstrap 4.
  • Стали использовать PSR-12 для автоматического исправления стиля кода через StyleCI.
  • Внедрили типизированные свойства почти во все пакеты.
  • Отполировали пакет validator.
  • Продолжили разработку пакета интеграции с Cycle и самой Cycle ORM. ORM стала быстрее. Отрефакторили интеграцию, добавили команду cycle/schema, SelectDataReader (реализацию интерфейса "data"). Добавили возможность определить схему также через отдельные файлы PHP, а не только в аннотациях. Дописали документацию.
  • Пакет router был сильно изменён. Отрефакторен, частично переписан заново, почищен от багов. Добавлена генерация абсолютных URL, улучшен синтаксис, исправлено использование стека middleware, добавлена "ленивая" инициализация. Значительно выросла производительность.
  • Отрефакторили пакет RBAC.
  • Реализовали Message Formatter в i18n. Translator выделили в отдельный пакет.
  • Начали разработку пакета queue.
  • Offset paginator из пакета data привели в соответствие с реальными кейсами использования.
  • Подключили Dependabot в репозитории Yii 3, обновили все зависимости.
  • Продолжена разработка пакета dataview (списки и гриды).
  • Внесли в пакет arrays важные исправления, как новые, так и портированные с Yii 2.
  • Важные исправления в контейнере DI. Теперь service provider с отложенной инициализацией обязан явно предоставить список ID предоставляемых им сервисов.
  • Несколько классов убрали из пакета web: Chain middleware, action caller middleware, callback middleware. Теперь их поддержка встроена напрямую в роутер.
  • Переделали middleware dispatcher для корректного использования стека middleware. Убедились, что все потенциально опасные варианты использования теперь невозможны.
  • Web приложение начало генерировать события на этапах инициализации, завершения работы, а также начала и завершения обработки запроса.
  • Улучшили синтаксис для рендера view в demo.
  • Сделали первые рабочие версии портированных в Yii 3 компонентов абстракции DB Yii 2, реализации драйверов PostgreSQL, MySQL, SQLite и Active Record. Качество пока что далеко от допустимого в продакшене, но это важный шаг к возможной самостоятельной реализации.
  • Составили черновик дизайна debugger, приступили к реализации.
  • Сделали провайдер конкретных событий для диспетчера событий.
  • В demo исправили проблемы с Docker, а сам пакет превратился в пример блога. В настоящий момент demo активно использует Cycle ORM, Bootstrap 4 и пакет data. Таким образом, вы можете увидеть, как сейчас реализуется приложение на Yii 3. В то же время, обращаем ваше внимание, что это определённо не финальная версия. Очень ждём фидбек по этой теме на официальном форуме и в issue tracker.
📙 Новые и переработанные внутренние соглашения:

📙 Новые страницы в руководстве по фреймворку:

⚠ Не пытайтесь повторить это в домашних условиях ;)
Некоторые отчаянные разработчики уже начинают свои первые проекты на Yii 3 и даже выкатывают их в продакшен. Несмотря на все недостатки пре-альфа версии, отзывы свидетельствуют, что процесс разработки более приятный, чем в Yii 2. Это хороший знак.
📚 Рекомендации к чтению
Несколько статей, отражающих дух Yii 3:

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

👍 Отдельное спасибо тем, кто помог Yii 3 кодом:

 
Сверху