Sam Dark
Новичок
Этот новостной выпуск было написать довольно трудно. Не потому что не о чем писать, наоборот — Yii 3 улучшается с каждым днём и процесс настолько затягивает, что от него не оторваться
Yii 2
Это не полный список, так как pull request-ов было очень много!
Новые страницы в руководстве по фреймворку:
Несколько статей, отражающих дух Yii 3:
Хочу сказать спасибо всем спонсорам и разработчикам, благодаря которым стала возможна разработка Yii 3. Вместе у нас всё получится.
Отдельное спасибо тем, кто помог 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.
Это не полный список, так как 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:
- Clean tests with PHP and PHPUnit.
- Концепции Чистого Кода, адаптированные для PHP.
- Object Design Style Guide by Matthias Noback.
Хочу сказать спасибо всем спонсорам и разработчикам, благодаря которым стала возможна разработка Yii 3. Вместе у нас всё получится.
Отдельное спасибо тем, кто помог Yii 3 кодом: