[PHP, Yii] Новости Yii 2020, выпуск 7
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Новости 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 1.1 будет поддерживаться ещё один год благодаря Skillshare и Onetwist Software.
- Marco van 't Wout из веб-агентства Tremani официально присоединился к команде поддержки Yii 1.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 и исправления. Ниже представлено самое интересное.
Новые пакеты
Был создан ряд новых пакетов. Часть из них появились в результате выделения общего кода из других пакетов, а часть — нет.
- Аутентификация при помощи JWT.
- Yii Swagger.
- Черновая версия шаблона для API. Сейчас она больше похожа на демку. Позже мы удалим часть кода чтобы со старта не было лишнего.
- Request model. Помогает валидировать и преобразовывать данные запроса перед использованием.
- Middleware dispatcher был выделен из пакетов router и request-model.
- Error handler был выделен из yii-web.
Инструменты для разработки
- Были актуализированы зависимости и добавлен Dockerfile.
- Реализована возможность полу-автоматического выпуска релизов.
Composer config plugin
Была добавлена временная поддержка PHP 8. Она не заменяет вариант с переписыванием плагина на AST и нужна для того, чтобы облегчить тестирование под PHP 8 в то время как мы занимаемся версией с AST.
Контейнер и фабрика
- Актуализированы зависимости.
- Устранён хак со ссылкой на себя в контейнере.
- Добавлена поддержка PHP 8 union type-ов.
- Зависимости теперь разрешаются как для конструктора, так и для метода при вызове не статичных фабрик, таких как 'engine' => [EngineFactory::class, 'createMethod'].
- Определения теперь разрешаются в конфигах-массивах.
- Аргументы для callable теперь разрешаются из DI контейнера. Добавлен Reference::toCall().
- Любое определение теперь может быть использовано как аргумент конструктора.
Кеш
Bulma
- Больше документации, улучшено именование.
- Добавлена возможность использовать значки в выпадающем меню.
- Все виджеты сделаны иммутабельными.
Роутер
- Внутренности и конфигурация упрощены путём выделения коллекции маршрутов в отдельный класс.
- Метод UrlMatcherInterface::getLastMatchedRequest() удалён, добавлен getCurrentUri().
- UrlMatcher теперь является опциональным, что хорошо сочетается с консольными приложениями.
Шаблоны приложений и демо
- Больше не требуется NodeJs. Ресурсы забираются через asset packagist.
- Конфиги значительно почищены. В app мы поделили их по разным пакетам.
- Убрана ссылка контейнера на себя.
- В yii-demo добавлен Swagger. Открывается через /swagger.
- yii-demo подвергся рефакторингу.
- Заменили в yii-demo реализацию PSR-7 на httpsoft/http-message.
Var dumper
- Добавлен метод asPhpString(). Он позволяет экспортировать код, в том числе замыкания.
Files
Cycle
- В файловую схему теперь можно писать. Также в неё добавлена поддержка чтения из нескольких файлов.
- Был задействованы наши DI контейнер / фабрика, так что интеграция с Cycle теперь работает на PHP 8.
Data
DBAL и ActiveRecord
Как DBAL, так и ActiveRecord, портированные с Yii 2, ещё рефакторить и рефакторить несмотря на то, что их серьёзно почистили и они, по большей части, работают.
Arrays
- Удаление значений по пути было вынесено в отдельный метод.
- Метод ArrayHelper::isTraversable() был удалён так как есть is_iterable().
HTML
- Почистили код.
- Добавили Html::generateId().
- Добавили опцию "wrapInput" для checkbox и radio.
- В data-атрибуты добавлен "aria".
- Удалён метод Html::getAttributeName.
- Удалён escapeJsRegularExpression, добавлен normalizeRegexpPattern.
- Добавлены методы для экранирования в различных контекстах: HTML атрибут, HTML атрибут без кавычек, строковое значение JavaScript.
- Удалён decode().
Debugger
- В API добавлена детальная информация об объектах.
- Есть прогресс с фронтендом.
- Добавлена возможность задавать размер истории.
Очереди
- Значительная зачистка, больше тестов.
- Улучшен основной сигнальный цикл. Добавлен мягкий лимит по памяти, дополнительные события и конфигурация для сигналов.
- Обновлена документация.
- Убраны отдельные payload-ы. Всё стало проще.
Translator
Пакеты i18n помечены как устаревшие, добавлены пакеты translator с новым дизайном.
Новая и изменённая документация
Рекомендации к чтению и другие новости
- On not choosing WordPress for the W3C redesign project.
W3C, организация, занимающаяся веб-стандартами, выбрала Craft CMS, написанную на Yii 2, в качестве движка для своего сайта.
- Выпущен Composer 2. Мы готовы, так что можете обновляться и получить прирост производительности.
- Обновлён плагин Yii 2 для PhpStorm.
- PHP 8.0: What's New and Changed.
️Спасибо!
Хочу сказать спасибо всем спонсорам и разработчикам, благодаря которым стала возможна разработка Yii 3. Вместе у нас всё получится.
Отдельное спасибо тем, кто помог Yii 3 кодом:
- Wilmer Arambula.
- Rustam Mamadaminov.
- mj4444.
- Dmitriy Gritsenko.
- Roman Tsurkanu.
- yiiliveext.
- Sergei Predvoditelev.
- DarkDef.
- Viktor Babanov.
- Dzianis Jackievič.
- Alexander Nekrasov.
- Anton Samoylenko.
- Dmitry Derepko.
- Alexey Chernousov.
- Andrii Vasyliev.
- wiperawa.
- Aleksei Gagarin.
- Bruce Aldridge.
- Sergei Iamskoi.
- Maksym Storchak.
- Evgeniy Tkachenko.
===========
Источник:
habr.com
===========
Похожие новости:
- [Open source, PHP, Программирование, Компиляторы] ВКонтакте снова выкладывает KPHP
- [Программирование, Java, SQL, Kotlin] Spring: Ускоряем запись в базу данных с помощью XML
- [PHP, Программирование, Laravel] Печатные формы документов для Eloquent в 0 строчек кода
- [PHP, Управление сообществом, Карьера в IT-индустрии, Конференции] Полезные привычки программиста после 30, MySQL vs Postgres и как поговорить об этом в субботу
- [PHP, SQL] Как я решил написать ORM на php с нуля на работающем сайте, и что из этого вышло
- [Разработка веб-сайтов, PHP, Laravel] Laravel–Дайджест (2–8 ноября 2020)
- [Поисковые технологии, PHP, MySQL, JavaScript, Функциональное программирование] Pick — самая маленькая поисковая система на PHP и MySQL
- [Функциональное программирование, Конференции, Elixir/Phoenix] Исследование экосистемы Elixir в СНГ 2020 и анонс очередного Elixir Meetup Online
- [Разработка веб-сайтов, PHP, Управление сообществом, Карьера в IT-индустрии] Как обстоят дела с PHP в Краснодаре (и не только)
- Доступен Composer 2.0.0, менеджер зависимостей для PHP
Теги для поиска: #_php, #_yii, #_yii, #_yii_2, #_yii_3, #_framework, #_php, #_php_8, #_phpunit, #_php, #_yii
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 23-Ноя 01:35
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Новости Yii 2020, выпуск 7 Всем привет! Это очередной выпуск новостей Yii. Как обычно, в выпуске вас ждут релизы Yii 2, прогресс Yii 3, важные вести о Yii 1 и другие новости. Приятного чтения и будьте здоровы. — Александр Макаров Фонд С прошлого выпуска пришлось прилично отвлечься на фонд, а именно на то, как средства перебрасываются из GitHub Sponsors в OpenCollective. С GitHub они уходили нормально, а вот куда — большой вопрос. Потребовалось время, чтобы разобраться, но проблему удалось решить. Ещё одна новость, частично связанная с фондом. Автор httpsoft/http-message, Евгений Зюбин, вероятно присоединится к команде фулл-тайм если/когда это позволит пополнение фонда. Если вы или ваша компания хотите получить Yii 3 раньше, можете помочь. Инфраструктура Мы постоянно улучшаем процесс тестирования пакетов:
Немного правок были сделаны на сайте. Прежде всего это переход на новый метод аутентификации 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. Был принят ряд интересных решений:
В Trello есть доска с задачами, над которыми мы работаем, включая не отражённые в GitHub issue. Почти каждый из пакетов был серьёзно почищен, получил совместимость с PHP 8 и исправления. Ниже представлено самое интересное. Новые пакеты Был создан ряд новых пакетов. Часть из них появились в результате выделения общего кода из других пакетов, а часть — нет.
Инструменты для разработки
Composer config plugin Была добавлена временная поддержка PHP 8. Она не заменяет вариант с переписыванием плагина на AST и нужна для того, чтобы облегчить тестирование под PHP 8 в то время как мы занимаемся версией с AST. Контейнер и фабрика
Кеш Bulma
Роутер
Шаблоны приложений и демо
Var dumper
Files Cycle
Data DBAL и ActiveRecord Как DBAL, так и ActiveRecord, портированные с Yii 2, ещё рефакторить и рефакторить несмотря на то, что их серьёзно почистили и они, по большей части, работают. Arrays
HTML
Debugger
Очереди
Translator Пакеты i18n помечены как устаревшие, добавлены пакеты translator с новым дизайном. Новая и изменённая документация Рекомендации к чтению и другие новости
️Спасибо! Хочу сказать спасибо всем спонсорам и разработчикам, благодаря которым стала возможна разработка Yii 3. Вместе у нас всё получится. Отдельное спасибо тем, кто помог Yii 3 кодом:
=========== Источник: habr.com =========== Похожие новости:
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 23-Ноя 01:35
Часовой пояс: UTC + 5