Хроники Yii3
624 subscribers
44 photos
1.71K links
Описание процесса разработки фреймворка из первых рук 😎

Обсуждение:
https://t.iss.one/yii3ru

Сводка по всем пакетам:
https://www.yiiframework.com/status/3.0

Поддержать разработчиков:
https://opencollective.com/yiisoft
Download Telegram
#yiisoftYiiRunner #МинорныйРелиз #Релиз

🎁 Yii Runner 2.1

• Добавлена возможность указать дополнительные модификаторы конфигурации для приложения.
👍8👾2
🔥 #Новости

Закрытый телеграм-чат с разработчиками Yii3 для подписчиков на Boosty

Ранее мы сделали доступ в закрытый чат для подписчиков на sponsr. Теперь закрытый чат также доступен подписчикам на boosty. Это один и тот же чат в телеграм, то есть все попадают в одно место 🙂

Чат доступен всем спонсорам, у которых есть подписка уровня 500 рублей в месяц или более.

⚡️ Инструкция для boosty-подписчиков
Please open Telegram to view this post
VIEW IN TELEGRAM
👾7🔥5👍21
#yiisoftInjector #МинорныйРелиз #Релиз

🎁 Yii Injector 1.2

• Добавлено кэширование рефлексий (опционально, по умолчанию выключено).

• Зависимость от контейнера сделана опциональной. Теперь можно использовать инжектор без контейнера.
👍8🎄3👾1
#yiisoftDbMigration #ПервыйРелиз #МажорныйРелиз #Релиз

🎁 Yii DB Migration 1.0

Первый стабильный релиз миграций на базе Yii DB.

Из коробки поддерживаются следующие СУБД:

• MSSQL 2017, 2019, 2022,
• MySQL 5.7–8.0,
• MariaDB 10.4–10.9,
• Oracle 12c–21c,
• PostgreSQL 9.6–15,
• SQLite 3.3 и выше.

Пакет предоставляет возможность работы с миграциями как через консоль Yii или Symfony, так и через отдельную независимую утилиту.

Сами миграции представляют собой PHP-классы с удобным билдером. Например:

final class M231219204516Test implements RevertibleMigrationInterface
{
public function up(MigrationBuilder $b): void
{
$b->createTable('test', [
'id' => $b->primaryKey(),
'name' => $b->string(255)->notNull(),
'email' => $b->string(255)->notNull(),
'status' => $b->integer()->notNull()->defaultValue(10),
'created_at' => $b->dateTime()->notNull(),
'updated_at' => $b->dateTime()->notNull(),
]);
}

public function down(MigrationBuilder $b): void
{
$b->dropTable('test');
}
}
🔥19👍3❤‍🔥2👏1👾1
#yiisoftStrings #МинорныйРелиз #Релиз

🎁 Yii Strings 2.4

• В StringHelper добавлены новые методы findBetween(), findBetweenFirst() и findBetweenLast().

• Улучшена производительность метода StringHelper::parsePath().
🔥10🎉2👾2
#yiisoftYiiDbMigration #МинорныйРелиз #Релиз

🎁 Yii DB Migration 1.1

• В билдере добавлены методы для создания UUID-колонок: uuid(), uuidPrimaryKey() и uuidPrimaryKeySequenced().
🔥6👍4👾2
#yiisoftRouterFastroute #ПатчРелиз #Релиз

🎁 Yii Router FastRoute Adapter 3.0.1

• Исправлено: при генерации URL неиспользуемые в роуте аргументы добавлялись в query-параметры.

• Исправлено: при генерации URL в случае, когда нет query-параметров, в конце добавлялся символ ?.
👍11🔥5👾2
#yiisoftConfig #МинорныйРелиз #Релиз

🎁 Yii Config 1.5

• Для модификатора RecursiveMerge добавлена возможность указать глубину рекурсии.

• Исправлено некорректное исключение "Duplicate key…", возникающее в некоторых случаях при использовании референсов.

• Модификаторы для рекурсивного и реверсивного слияний теперь применяются для референсов.

• Удалён неиспользуемый код в классе PackagesListBuilder.
👍12👾5
#yiisoftYiiRunnerHttp #yiisoftYiiRunnerConsole #МинорныйРелиз #Релиз

🎁 Yii HTTP Runner 2.2
🎁
Yii Console Runner 2.1

• Добавлена возможность указать дополнительные модификаторы конфигурации для приложения.
👍8👾3
#yiisoftWidget #МинорныйРелиз #Релиз

🎁 Yii Widget 2.2

• Добавлена возможность использовать виджеты без инициализации фабрики виджетов.

• Добавлена возможность указать в конфигурации тему по умолчанию для конкретного виджета.

• Исключение WidgetFactoryInitializationException помечено как устаревшее и будет удалено в следующей мажорной версии.
👍10👾3
#yiisoftHtml #МинорныйРелиз #Релиз

🎁 Yii HTML 3.4

• Добавлена возможность указать HTML-атрибуты для тега <label> в виджетах CheckboxList и RadioList.
👍7👾2
#yiisoftFileRouter

Yii File Router

Репозиторий под новый роутер, который будет работать на основании файловой структуры. Очень похоже на то, что есть в Yii2.

Скоро будет добавлена первая реализация.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍5❤‍🔥2👾2
#yiisoftQueueRedis

Yii Queue Redis Adapter

Репозиторий под адаптер очередей Yii Queue для Redis.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9👾3🔥2
#yiisoftYiiConsole #ПатчРелиз #Релиз

🎁 Yii Console 2.1.2

• Добавлена поддержка symfony/console версии ^7.0.
👍7👾3
#yiisoftYiiRunnerHttp #yiisoftYiiRunnerConsole #ПатчРелиз #Релиз

🎁
Yii Console Runner 2.1.1

• Добавлена поддержка symfony/console версии ^7.0.
👾5👍4
🖼 В качестве анонса...

Завершена техническая подготовка 5 новых пакетов к релизу:

Yii Hydrator
Yii Validating Hydrator
Yii Input HTTP
Yii Form
Yii Form Model

Покрытие тестами — 100%. MSI — 100%. Psalm 1 уровня.

Осталось провести финальное ревью, добавить документацию, и пакеты уходят в релиз.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥41👍83👾1
#yiisoftErrorHandler #МинорныйРелиз #Релиз

🎁 Yii Error Handler 3.1

• Добавлен класс HeadersProvider, с помощью которого можно указать заголовки, которые будут добавлены в ответ с ошибкой.

• Реализовано автоматическое определение темы (светлая или тёмная).

• Добавлено композитное исключение CompositeException, используемое для вывода нескольких исключений одновременно.

• При возникновении ошибки во время обработки запроса в ErrorCatcher теперь отправляется событие ApplicationError.
👍14👾2
⚡️ #yiisoftYiiQueue #yiisoftYiiQueueAmqp #yiisoftQueue #yiisoftQueueAmqp

У пакетов Yii Queue и Yii Queue AMQP Driver убран префикс yii-.

yiisoft/yii-queueyiisoft/queue
yiisoft/yii-queue-amqpyiisoft/queue-amqp
🔥6👾5👍1🎄1
#yiisoftTranslatorExtractor #МинорныйРелиз #Релиз

🎁 Yii Message Extractor 2.1

• Добавлена возможность указать метод используемый для перевода сообщений.

• Добавлена поддержка symfony/console версии ^7.0.
👍111👾1
#yiisoftHydrator #ПервыйРелиз #МажорныйРелиз #Релиз

🎁 Yii Hydrator 1.0

Гидратор позволяет создавать и/или наполнять объекты из сырого набора данных.

• Поддержка свойств в любой области видимости.

• Поддержка аргументов конструктора при создании объектов.

• Автоматической разрешение зависимостей при создании объектов, используя PSR-11 совместимый контейнер.

• Поддержка вложенных объектов.

• Маппинг.

• Тонкая настройка гидрации с помощью PHP-атрибутов.

Использовать очень просто:

use Yiisoft\Hydrator\Hydrator;

$hydrator = new Hydrator();

// Наполнение существующего объекта
$hydrator->hydrate($object, $data);

// Создание нового объекта
$object = $hydrator->create(MyClass::class, $data);


И, как обычно, 100% покрытие тестами, 100% MSI, первый уровень Psalm.
🔥221👍1👾1
#yiisoftErrorHandler #МинорныйРелиз #Релиз

🎁 Yii Error Handler 3.2

• Добавлен вывод трассировки для ошибок PHP (ранее она выводилась только для исключений).

• В мидлвари ExceptionResponder добавлена возможность вызвать у ответа метод getBody(), чтобы можно было отловить и обработать исключения, которые могут при этом возникнуть.
👍9👾2