[PHP, Yii] Новости Yii 2020, выпуск 8
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Всем привет! Это последний выпуск новостей в "весёлом" 2020 году. Я едва успел его приготовить потому как скорость разработки Yii 3 сильно подросла. Все пакеты в этом месяце мы тегнуть не успели, но многие почти готовы, поэтому стоит ожидать релизов в Январе.
С наступающим Новым Годом! Пусть будет менее сумасшедшим, чем 2020. — Александр Макаров
// Не забывайте ставить звёздочки любимым пакетам на GitHub.
Фонд и команда
- Евгений Зюбин присоединился к команде на фуллтайм для работы над Yii 3. Пока всё идёт замечательно! ы
- Валерий Горбачев также присоединился к команде. Его вы можете знать по его работе над i18n и MSSQL.
- Мы применили весь бюджет фонда, чтобы увеличить доступное для работы над Yii время команды. Это вылилось в сильное ускорение темпов разработки.
Год показал что мы можем тратить средства на разработку эффективно, так что помогать нам финансово — отличный вариант!
Yii 1
Был выпущен Yii 1.1.23.
Он добавляет поддержку PHP 8 и улучшает совместимость с PHP 7. Также добавлена поддержка PostgreSQL 12.
Это первый релиз, который сделал новый член команды, Marco van 't Wout, под руководством Carsten Brandt.
Yii 2
Вышел Yii 2.0.40. Фокус релиза, в основном, на исправлении ошибок.
Были выпущены следующие расширения:
- Auth client 2.2.9.
- Debug 2.1.15 и 2.1.6.
- Imagine 2.3.0.
- Queue 2.3.1.
- MongoDB 2.1.11.
- HTTP client 2.0.13.
Также:
- Мы начали гонять в GitHub actions тесты под Oracle.
- Свежие образы Docker теперь собираются на GitHub actions.
- Модуль Yii 2 для Codeception теперь совместим с PHP 8.
Yii 3
Инфраструктура
- Ко всем репозиториям. Применён новый набор правил StyleCI. Стиль кода стал ещё более консистентным.
- Покрытие тестами, MSI были улучшены практически в каждом пакете.
- Порезана история Git у некоторых пакетов, которые были получены саб-сплитом Yii 2 и таскали с собой всю его историю.
- Включены GitHub discussions в yiisoft/app. Посмотрим, что из этого выйдет. Мы не хотим пока заменять форум, но может получиться полезно.
Релизы
- Cookies 1.0.0. Пакет, вероятно, будет использован в форумном движке Flarum.
- Strings 1.0.0. Кроме общей зачистки добавился метод StringHelper::split().
- Test support 1.0.0. С последнего выпуска новостей появилась документация и набор для тестирования кеша.
- Aliases 1.1.2.
- Composer config plugin 0.5.0.
- i18n 1.0.0.
- Session 1.0.0. С последнего выпуска новостей сессия перестала запускаться когда можно обойтись без этого.
- HTTP 1.1.0. Добавлен ContentDispositionHeader. Оно помогает сформировать кросс-браузерный заголовок, соответствующий RFC.
Новые пакеты
Мы не только добавляем пакеты, но и удаляем… некоторые пакеты, такие как yii-api, были удалены.
Arrays
Хелпер Files и файловая система
В хелпере Files произошли следующие изменения:
- Добавлен FileHelper::isEmptyDirectory().
- Добавлен FileHelper::openFile().
- Добавлен FileHelper::lastModifiedTime(), позволяющий получить время последней модификации содержимого директории.
- Добавлены FileHelper::findDirectories() и FileHelper::findFiles().
- FileHelper::unlink() поддерживает больше особенных ситуаций, в том числе под Windows.
- FileHelper::filterPath() был заменён отдельным PathMatcher.
Пакет File system теперь использует стабильную версию Flysystem.
Консоль
Команда yii serve теперь по умолчанию использует в качестве роутера public/index.php.
Это сделано чтобы нормально поддерживались точки в URL.
БД и Active Record
Зачистка порта базы данных и AR из Yii 2 идёт полным ходом. До завершения ещё далеко, но движение в этом направлении
верное. Интересные изменения:
- Кеш схемы отделён от соединения.
- Портированы изменения в Yii 2 по части MSSQL.
- Active Record теперь тестируется под Oracle.
Миграции
- Общая зачистка и обновление документации.
- Классы миграций теперь именуются в PascalCase.
Cycle
Обработчик ошибок
Применён новый дизайн к страницам ошибок. За него спасибо Аркадию Зимину и Фёдору Достоевскому.
Можно переключаться на тёмную или светлую тему, так что глаза от ночного кодинга вытекать больше не будут.
Отладчик
- Серверные части были зачищены. Коллекторы были улучшены. Исправлены некоторые ошибки.
- Почти не требуется ручной конфигурации для включения отладчика. Достаточно изменения одного флага в конфиге.
- Поправлен сбор данных о потреблении памяти.
- Всё чтение и запись данных теперь делаются через нормальные абстракции.
Фронт-часть отладчика всё ещё разработке.
Профайлер
- Общая зачистка и рефакторинг.
- Добавленная конфигурация по-умолчанию.
Инструментарий разработки фреймворка
Были сделаны следующие улучшения инструмента yii-dev:
- Команда test, которая по-тихому запускает тесты пакета и выводит только ошибки.
- Команда git/pr/create, которая может делать GitHub pull request.
- Команда github/settings, которая помогает менять настройки репозиториев.
- Ошибки стали более полезными.
- Команда replicate/copy-file, которая позволяет скопировать любой файл в любой пакет.
- Инструмент теперь нормально работает с симлинками в контейнере Docker.
- Команда exec теперь выводит всё в консоль сразу.
- В команду release/make добавлены дополнительные проверки и опции. Именно она использовалась для последних релизов.
- Рефакторинг.
Перевод сообщений
- Отрефакторены драйверы для gettext и базы данных.
- В README добавлена документация.
Пакет почти готов к релизу.
Демо-приложение
Мы обновляем демо вслед за пакетами:
- index.php теперь является роутером для yii serve.
- Роутер по-умолчанию не кешируется.
- Выход реализован через POST.
- Не нужно больше явно использовать CSRF в контроллере.
- Починена активация пунктов меню.
- Классы сгруппированы по use-case, а не по типу.
- Перешли на Bootstrap 5.
- Обязательные поля выделены визуально.
- Своя страница 404.
- Flash выделен в виджет.
- В отладочном режиме конфигурация не пересобирается, если не изменился ни один файл конфига.
Шаблон веб-приложения
- Шаблон почищен. Удалены все лишние части.
- index.php теперь является роутером для yii serve.
- Роутер по-умолчанию не кешируется.
- Классы сгруппированы по use-case, а не по типу.
- Добавлен API дебаггера.
- Своя страница 404 и визуальное выделение обязательных полей.
- В отладочном режиме конфигурация не пересобирается, если не изменился ни один файл конфига.
Также обновлена начальная страница:
Шаблон API
- Конфигурация обновлена для соответствия шаблону веб-приложения.
- index.php теперь является роутером для yii serve.
- Роутер по-умолчанию не кешируется.
- Добавлен Swagger, все существующие endpoint документированы.
- Классы сгруппированы по use-case, а не по типу.
- Добавлена группа для роутов REST.
- В отладочном режиме конфигурация не пересобирается, если не изменился ни один файл конфига.
Сейчас в шаблоне достаточно много примеров. Со временем они переедут в демо.
Кеш
Кеш серьёзно отрефакторен. Главные класс кеша теперь не реализует PSR, но использует PSR-16 как хендлеры.
Есть возможность выставить TTL и префикс по-умолчанию, есть защита от cache stampede, поддерживается инвалидация через
зависимости.
Почищены и отрефакторены большинство хендлеров. Очень вероятно что в начале года сделаем релиз.
Лог
Лог также серьёзно почищен и порефакторен. Для конечного пользователя это всё ещё PSR-совместимый логгер, но с точки
зрения конфигурации и возможностей стало интересней:
- Можно настроить формат лога.
- Добавлен StreamTarget для вывода в стрим.
- Уменьшено потребление ресурсов.
- Можно добавить свой контекст в лог.
Var dumper
- Улучшена обработка особых случаев.
- Больше тестов и рефакторинга.
- Экспорт замыканий выделен в отдельный класс ClosureExporter.
Bootstrap
Изменения есть как для Bootstrap 4, так и для Bootstrap 5.
- Разметка.
- Возможность открыть Accordion на определённом пункте и другие улучшения в виджетах.
- Пакеты теперь предоставляют конфиг для форм, так что стили к формам применяются сразу после установки.
Bulma
- Пакет теперь предоставляют конфиг для форм, так что стили к формам применяются сразу после установки.
- Добавлен виджет Tabs.
- Добавлен виджет Progress bar.
- Добавлен виджет Modal.
Роутер
- Улучшены сообщения об ошибках.
- Возможность перекрыть роут.
- Возможность включать и отключать кеш из параметров приложения.
Serializer
Сейчас решается судьба пакета.
Хоть для некоторых случаев он и полезен, в простых случаях можно без него, а в сложных его недостаточно.
HTML
- Зачистка, удалены устаревшие части.
- Добавлены Html::div(), Html::span() и Html::p().
Assets
Виджеты
Публичное API было прилично изменено для поддержки иммутабельности в виджетах.
Я думаю что и синтаксис стал лучше:
<?= MyWidget::widget()->options(['class' => 'testMe'])->begin() ?>
Content
<?= MyWidget::end() ?>
CSRF
CSRF серьёзно отрефакторен:
- Структура стала более логичной.
- Больше безопасности.
- Интерфейсы, чтобы реализовать свой алгоритм защиты.
- Реализован алгоритм, не требующий состояния.
- Конфиги по-умолчанию.
Первые сторонние пакеты
Несмотря на то, что Yii 3 ещё не релизнут, для него начали появляться первые пакеты. В этот раз обратим внимание на пакет
для работы с SVG:
Новая и обновлённая документация
- Больше пакетов нормально документированы в их README.
- Обновлена документация по логированию.
В общем сейчас документация в несколько устаревшем состоянии. Концептуально ничего не поменялось, а вот синтаксис много
где не соответствует. Будет обновлять в следующем году.
Почитать
️Спасибо!
Хочу сказать спасибо всем спонсорам и разработчикам, благодаря которым стала возможна разработка Yii 3. Вместе у нас всё получится.
Отдельное спасибо тем, кто помог Yii 3 кодом:
- Wilmer Arambula.
- Rustam Mamadaminov.
- Viktor Babanov.
- Valerii Gorbachev.
- Evgeniy Zyubin.
- Roman Tsurkanu.
- Dmitry Derepko.
- Sergei Predvoditelev.
- Anton Samoylenko.
- mj4444.
- yiiliveext.
- Martín Peveri.
- Vitalii Shkolin.
- Leonid Chenenko.
- Mister 42.
- Sergei Iamskoi.
- Alexey Chernousov.
- epifrin.
- Aleksei Gagarin.
- Insolita.
- Pavel Ivanov.
- 1Luc1.
- Rei Bengu.
- Roman Hlushchak.
===========
Источник:
habr.com
===========
Похожие новости:
- [PHP, Программирование, Symfony] Бенчмарки PHP 8.0 и 7.4 на Symfony: повышение производительности JIT до +9% вместе с предварительной загрузкой OPCache (перевод)
- [Высокая производительность, Ненормальное программирование] Новогодние бенчмарки компьютеров Эльбрус
- [PHP, Symfony, MongoDB, Разработка под Arduino] Использование Shopker для IOT
- [Разработка веб-сайтов, PHP, Laravel] Laravel–Дайджест (14–27 декабря 2020)
- [Разработка веб-сайтов, PHP, Программирование] Ловушки для современного PHP
- [Системное администрирование, DIY или Сделай сам] Hotspot для бизнеса своими руками
- [Разработка веб-сайтов, PHP, Drupal, Программирование] #lazy_builder (не путать с lazy load) в Drupal 8/9
- [PHP, Программирование] События в OpenCart
- [PHP, Программирование, Анализ и проектирование систем] PHP коммьюнити в СНГ. Было плохо — стало хуже
- [PHP, TDD, Laravel] Как я пытался улучшить Laravel, а сделал только хуже
Теги для поиска: #_php, #_yii, #_yii3, #_yii, #_yii_frameowork, #_php, #_frejmvork (фреймворк), #_php, #_yii
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 17:28
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Всем привет! Это последний выпуск новостей в "весёлом" 2020 году. Я едва успел его приготовить потому как скорость разработки Yii 3 сильно подросла. Все пакеты в этом месяце мы тегнуть не успели, но многие почти готовы, поэтому стоит ожидать релизов в Январе. С наступающим Новым Годом! Пусть будет менее сумасшедшим, чем 2020. — Александр Макаров // Не забывайте ставить звёздочки любимым пакетам на GitHub. Фонд и команда
Год показал что мы можем тратить средства на разработку эффективно, так что помогать нам финансово — отличный вариант! Yii 1 Был выпущен Yii 1.1.23. Он добавляет поддержку PHP 8 и улучшает совместимость с PHP 7. Также добавлена поддержка PostgreSQL 12. Это первый релиз, который сделал новый член команды, Marco van 't Wout, под руководством Carsten Brandt. Yii 2 Вышел Yii 2.0.40. Фокус релиза, в основном, на исправлении ошибок. Были выпущены следующие расширения:
Также:
Yii 3 Инфраструктура
Релизы
Новые пакеты Мы не только добавляем пакеты, но и удаляем… некоторые пакеты, такие как yii-api, были удалены. Arrays Хелпер Files и файловая система В хелпере Files произошли следующие изменения:
Пакет File system теперь использует стабильную версию Flysystem. Консоль Команда yii serve теперь по умолчанию использует в качестве роутера public/index.php. Это сделано чтобы нормально поддерживались точки в URL. БД и Active Record Зачистка порта базы данных и AR из Yii 2 идёт полным ходом. До завершения ещё далеко, но движение в этом направлении верное. Интересные изменения:
Миграции
Cycle Обработчик ошибок Применён новый дизайн к страницам ошибок. За него спасибо Аркадию Зимину и Фёдору Достоевскому. Можно переключаться на тёмную или светлую тему, так что глаза от ночного кодинга вытекать больше не будут. Отладчик
Фронт-часть отладчика всё ещё разработке. Профайлер
Инструментарий разработки фреймворка Были сделаны следующие улучшения инструмента yii-dev:
Перевод сообщений
Пакет почти готов к релизу. Демо-приложение Мы обновляем демо вслед за пакетами:
Шаблон веб-приложения
Также обновлена начальная страница: Шаблон API
Сейчас в шаблоне достаточно много примеров. Со временем они переедут в демо. Кеш Кеш серьёзно отрефакторен. Главные класс кеша теперь не реализует PSR, но использует PSR-16 как хендлеры. Есть возможность выставить TTL и префикс по-умолчанию, есть защита от cache stampede, поддерживается инвалидация через зависимости. Почищены и отрефакторены большинство хендлеров. Очень вероятно что в начале года сделаем релиз. Лог Лог также серьёзно почищен и порефакторен. Для конечного пользователя это всё ещё PSR-совместимый логгер, но с точки зрения конфигурации и возможностей стало интересней:
Var dumper
Bootstrap Изменения есть как для Bootstrap 4, так и для Bootstrap 5.
Bulma
Роутер
Serializer Сейчас решается судьба пакета. Хоть для некоторых случаев он и полезен, в простых случаях можно без него, а в сложных его недостаточно. HTML
Assets Виджеты Публичное API было прилично изменено для поддержки иммутабельности в виджетах. Я думаю что и синтаксис стал лучше: <?= MyWidget::widget()->options(['class' => 'testMe'])->begin() ?>
Content <?= MyWidget::end() ?> CSRF CSRF серьёзно отрефакторен:
Первые сторонние пакеты Несмотря на то, что Yii 3 ещё не релизнут, для него начали появляться первые пакеты. В этот раз обратим внимание на пакет для работы с SVG: Новая и обновлённая документация
В общем сейчас документация в несколько устаревшем состоянии. Концептуально ничего не поменялось, а вот синтаксис много где не соответствует. Будет обновлять в следующем году. Почитать ️Спасибо! Хочу сказать спасибо всем спонсорам и разработчикам, благодаря которым стала возможна разработка Yii 3. Вместе у нас всё получится. Отдельное спасибо тем, кто помог Yii 3 кодом:
=========== Источник: habr.com =========== Похожие новости:
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 17:28
Часовой пояс: UTC + 5