[PHP, Yii] Новости Yii 2021, выпуск 1

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

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

Создавать темы news_bot ® написал(а)
05-Мар-2021 04:30

Привет, сообщество!Это первый выпуск новостей в 2021. Начало года вышло продуктивным. Мы начали активно релизить пакеты Yii 3, есть значительный прогресс с пока не релизнутыми пакетами. Улучшили инструментарий разработки, много всего исправили, убили лишние пакеты. И всё это параллельно с поддержкой Yii 2 и решением проблем с финансированием.
Команда и фондНесмотря на то, что 2020 был через край долбанутым, для Yii всё вышло неплохо. Удалось договориться о продлении поддержки Yii 1.1 и других вещах в обмен на единовременное или постоянное пополнение фонда.Эти соглашения и, конечно же, наши любимые спонсоры, позволили команде меньше работать над коммерческими проектами и больше над фреймворком. Фонд удалось использовать полностью.Я был чрезвычайно воодушевлён возросшей скоростью разработки, окунулся в неё с головой и немного подзабыл о финансовой части. В январе меня ждал неприятный сюрприз. Оказывается, что забыл я про очень важный факт. А именно, что немаленькая часть средств фонда поступила не рекуррентными платежами. Соответственно, бюджета на всё не хватило. Чтобы не случилось полной катастрофы, я перестал забирать деньги фонда с OpenCollective и начал активно искать партнёров среди компаний, которые используют Yii и PHP. Результаты пока спорные, но, надеюсь, всё наладится.
Если хотите пообщаться на тему партнёрства, пишите в sam@rmcreative.ru.
Yii 2Вышел Yii 2.0.41. Сильно помогли с релизом Paweł Brzozowski, недавно присоединившийся к команде Yii 2, и Robert Korulczyk с его тщательными ревью всего вливаемого в master кода. Много часов было потрачено на безопасность фреймворка. Удалось перебрать текущие сообщения о предполагаемых уязвимостях и улучшить безопасность.Yii 3Прежде всего, релизы: В каждом пакете есть документация, отличное покрытие тестами, код вычищен и, конечно же, публичное API достаточно стабилен.Ну а теперь время рассмотреть интересные изменения с предыдущего выпуска новостей. Для удобства изменения сгруппируем по пакетам.Arrays
  • Добавлен ArrayHelper::pathExists().
  • Добавлен ArrayHelper::group(). Это алиас ArrayHelper::index().
  • Удалены модификаторы.
Data Auth Config pluginПосле большого количества попыток улучшить Composer config plugin стало очевидно что он стал слишком сложным: AST, мёрж конфигов и всё что там творилось под капотом. Мы приняли решение сделать его менее зависимым от пакетов yiisoft и сделать новый, более простой и производительный, пакет.Все шаблоны приложений уже были переведены на новые конфиги. Скорее всего нужно будет исправлять баги и повышать удобство использования пакета.Error handler
  • Рефакторинг, ридми.
  • Поддержка Xdebug 3 для получения более подробных стектрейсов.
  • ExceptionResponder, при помощи которого можно формировать HTTP-ответ в зависимости от пойманной ошибки. Это может быть полезно для исключений вроде NotFoundException. Будут ли такие исключения из коробки пока обсуждаем.
  • Renderer-ы теперь могут отдавать HTTP-заголовки, добавлен renderer, который выводит ошибку в заголовках. Полезно если показывать ошибки текстом неудобно. Например, для некоторых API или при генерации картинок.
  • Элементы stacktrace для классов из vendor теперь отображаются отдельной группой и по умолчанию свёрнуты. Так как ошибки обычно в самом приложении, это позволяет не отвлекаться на нерелевантную информацию.
Обработка ошибок в общем
  • В пакет yiisoft/yii-event добавлен режим отладки. В нём проверяются все обработчики событий сразу.
  • Улучшены ошибки DI контейнера.
Strings
  • Добавлен NumericHelper::isInteger().
  • Добавлена поддержка bool в NumericHelper::normalize().
  • Был переработан матчинг по wildcard. Вместо довольно большого количества опций добавили **, совпадающий, в том числе, с сепараторами.
Var dumper HtmlПакет был значительно переработан. Главных изменений два:
  • Вывод по умолчанию экранируется.
  • Теги реализованы как отдельные объекты, создаваемые через статические методы-фабрики из Html. Для пользователя это значит, что конфигурация теперь производится через вызов методов. То есть теперь IDE это дополняют и проверяют.
ВалидаторМного рефакторинга. Самое интересное: Формы Перевод сообщенийПочти готов к релизу. Можете почитать его readme.MailerMailer и адаптер для SwiftMailer были вычищены и отрефакторены. Добавлена документация. Релизнем как только будут готовы зависимости.DB и ActiveRecordВ обоих пакетах были исправления, оба ещё больше покрыли тестами. Wilmer, член команды, который занимался этими пакетами, уже проверил из в бою на Telegram боте с 120 тысячами запросов в сутки.Оба пакета изначально были портированы из Yii 2 почти как есть. Была убрана магия, добавлены типы, покрытие тестами доведено почти до 100%. Но, несмотря на то что пакеты стали даже лучше, чем Yii 2, дизайн сохранился примерно в том же виде. Нам предстоит трудный выбор, релизить ли первую версию как есть или же сначала затеять гигантский рефакторинг.Скорее всего выберем первое.yii-web UserЗначительно переделали пакет: Всё ещё не до конца довольны. Скорее всего будем переделывать ещё.Bootstrap и Bulma КонсольПоявилась возможность добавлять команды со своим именем.DebuggerЕсть прогресс как в API, так и на фронтенде. DockerДобавлена поддержка PHP 8.Инструментарий разработки фреймворкаУлучшили инструментарий чтобы можно было удобно работать даже не поставив все пакеты. Улучшили точность фиксера зависимостей. Добавили новую команды release/what. Она подсказываем какой пакет релизить следующим. Приоритет отдаётся пакетам без нестабильных зависимостей и, при этом, блокирующих как можно больше релизов других пакетов.Шаблоны приложений Новая и обновлённая документация Почитать-посмотреть ❤️ Спасибо!Хочу сказать спасибо всем спонсорам и разработчикам, благодаря которым стала возможна разработка Yii 3. Вместе у нас всё получится.Я понял, что ранее не писал о компаниях, которые поддерживают разработку Yii. Вот самые большие спонсоры с коротким описанием:
  • CraftCMS - Отличная OpenSource CMS на Yii2.
  • Onetwist Software - Услуги качественной разработки приложений.
  • SkillShare - Обучение новым навыкам.
  • Betteridge - Ювелирные изделия.
  • dmstr - Облачные решения на основе Docker.
  • HumHub - OpenSource решения для общения команды.
  • JetBrains - Отличные инструменты для разработки.
  • Skin.Club - Рынок скинов для CS:GO.
  • ЭФКО - фудтех, производство продуктов питания, и венчурные инвестиции. С недавнего времени ещё и ЭФКО-тех, отдельная растущая сервисная IT-компания, которая планирует заниматься не только внутренними проектами ЭФКО.
Кроме перечисленных нас поддерживают отдельные разработчики и другие компании.Отдельное спасибо тем, кто помог Yii 3 кодом:
===========
Источник:
habr.com
===========

Похожие новости: Теги для поиска: #_php, #_yii, #_yii, #_yii2, #_yii3, #_yii_framework, #_frejmvork (фреймворк), #_php, #_opensource, #_php, #_yii
Профиль  ЛС 
Показать сообщения:     

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

Текущее время: 28-Апр 02:43
Часовой пояс: UTC + 5