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

Обсуждение:
https://yangx.top/yii3ru

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

Поддержать разработчиков:
https://opencollective.com/yiisoft
加入频道
⚡️ #yiisoftDefinitions #yiisoftDi #yiisoftFactory

Хелперы ReferencesArray и DynamicReferencesArray перенесены из пакета Yii Dependency Injection (PR) в пакет Yii Definitions (PR).

В Yii Factory удалены дефинишены и классы для работы с ними, которые ранее были перенесены в Yii Definitions (PR).

—————

#yiisoftAssets #yiisoftYiiConsole #yiisoftCsrf #yiisoftDb #yiisoftForm #yiisoftMailerSwiftmailer #yiisoftMailerSymfony #yiisoftYiiQueue #yiisoftTranslator #yiisoftView #yiisoftWidget #yiisoftYiiBootstrap5 #yiisoftYiiDataview #yiisoftYiiDebug #yiisoftYiiDebugViewer #yiisoftYiiSwagger #yiisoftApp #yiisoftAppApi #yiisoftDemo #yiisoftDemoApi

Все пакеты и приложения, использующие дефинишены, переделаны на работу с пакетом Yii Definitions:

- Yii Assets (PR)
- Yii Bootstrap 5 (PR)
- Yii Console (PR)
- Yii CSRF (PR)
- Yii Data Widgets (PR)
- Yii DB (PR)
- Yii Debug (PR)
- Yii Debug Viewer (PR)
- Yii Form (PR)
- Yii Mailer Swiftmailer (PR)
- Yii Mailer Symfony (PR)
- Yii Message Translator (PR)
- Yii Queue (PR)
- Yii Swagger (commit)
- Yii View (PR)
- Yii Widget (PR)

- шаблон веб-приложения (PR),
- шаблон API-приложения (PR),
- демо веб-приложения (PR),
- демо API-приложения (PR).
⚡️ #yiisoftWidget

В пакете Yii Widget добавлена поддержка всех существующих версий psr/container: ^1.0|^2.0 (PR).

Спасибо Ivanda Nothabeer за обнаруженную проблему 👍
⚡️ #yiisoftWidget #yiisoftApp #yiisoftDemo

Добавлена новая группа конфигураций widgets, содержащая дефинишены для фабрики виджетов WidgetFactory из пакета Yii Widget (PR).

Группа также добавлена в приложения:
- шаблон веб-приложения (PR),
- демо веб-приложения (PR).
⚡️ #yiisoftWidget

Доработали конфигурацию пакета Yii Widget (PR): теперь с помощью параметров можно изменить группу конфигурации для виджетов и включить/отключить валидацию конфигурации фабрики виджетов.
⚡️ #yiisoftWidget

Исправили ошибки статического анализа Psalm в Yii Widget (PR).
#yiisoftWidget #ПервыйРелиз #МажорныйРелиз #Релиз

🎁 Yii Widget 1.0.0

Виджеты представляют собой многоразовые строительные блоки, используемые в представлениях для создания сложных и настраиваемых элементов пользовательского интерфейса в рамках объектно-ориентированного подхода.

Пакет предоставляет абстрактный класс виджета и фабрику для их создания.
⚡️ #yiisoftWidget

В пакете Yii Widget добавили пример инициализации WidgetFactory в решение в дружественном исключении WidgetFactoryInitializationException (PR).
⚡️ #yiisoftYiiBulma #yiisoftWidget #yiisoftYiiWidgets #yiisoftCache #yiisoftYiiView #yiisoftView #yiisoftValidator #yiisoftFiles

Обновили версии действий actions/cache и actions/checkout до 3 в GitHub Workflows, а также подняли версию PHP в конфигурации Scrutinizer до 8.0.18 в пакетах:

- Yii Bulma (PR)
- Yii Widget (PR)
- Yii Widgets (PR)
- Yii Caching Library (PR)
- Yii View Extension (PR)
- Yii View (PR)
- Yii Validator (PR)
- Yii Files (PR)
⚡️ #yiisoftMailer #yiisoftLogTargetSyslog #yiisoftHttp #yiisoftI18n #yiisoftLog #yiisoftLogTargetDb #yiisoftLogTargetEmail #yiisoftMailerSymfony #yiisoftMiddlewareDispatcher #yiisoftMutexPdoOracle #yiisoftMutexRedis #yiisoftRbac #yiisoftRbacDb #yiisoftRbacPhp #yiisoftRequestBodyParser #yiisoftRateLimiter #yiisoftProxy #yiisoftProfiler #yiisoftMutexPdoPgsql #yiisoftMutexPdoMysql #yiisoftMailerSwiftmailer #yiisoftHtml #yiisoftRequestModel #yiisoftRequirements #yiisoftRouter #yiisoftRouterFastroute #yiisoftSession #yiisoftStrings #yiisoftTestSupport #yiisoftTranslator #yiisoftTranslatorMessageDb #yiisoftUser #yiisoftView #yiisoftViewTwig #yiisoftWidget #yiisoftYiiConsole

Сделали изменения в стили кода. Методы, вызываемые «цепочкой», перенесли на новую строку:

- Yii Mailer Library (PR)
- Yii Logging Syslog Target (PR)
- Yii HTTP (PR)
- Yii Internationalization Library (PR)
- Yii Logging Library (PR)
- Yii Logging DB Target (PR)
- Yii Logging Email Target (PR)
- Yii Mailer Symfony Mailer Extension (PR)
- Yii Middleware Dispatcher (PR)
- Yii Mutex Oracle PDO Driver (PR)
- Yii Mutex Redis Driver (PR)
- Yii Role-Based Access Control (PR)
- Yii RBAC Database (PR)
- Yii RBAC PHP File Storage (PR)
- Yii Request Body Parser (PR)
- Yii Rate Limiter Middleware (PR)
- Yii Proxy (PR)
- Yii Profiler (PR)
- Yii Mutex PostgreSQL PDO Driver (PR)
- Yii Mutex MySQL PDO Driver (PR)
- Yii Mailer SwiftMailer Extension (PR)
- Yii HTML (PR)
- Yii Request Model (PR)
- Yii Requirements Checker (PR)
- Yii Router (PR)
- Yii Router FastRoute Adapter (PR)
- Yii Session (PR)
- Yii Strings (PR)
- Yii Test Support (PR)
- Yii Message Translator (PR)
- Yii Translator DB Message Storage (PR)
- Yii User (PR)
- Yii View (PR)
- Yii View Twig Renderer (PR)
- Yii Widget (PR)
- Yii Console (PR)
🔥4👍3
#yiisoftDi #yiisoftFactory #yiisoftWidget #yiisoftYiiRunner #yiisoftYiiRunnerConsole #yiisoftYiiRunnerHttp #yiisoftYiiRunnerRoadrunner #yiisoftRbacRulesContainer #ПатчРелиз #Релиз

🎁 Yii Dependency Injection 1.0.3

• Улучшена производительность при получении объектов по тегу из композитного контейнера.

• Добавлена поддержка yiisoft/definitions версии ^2.0 (PR).


🎁 Yii Factory 1.0.1

• Добавлена поддержка yiisoft/definitions версии ^2.0 (PR).


🎁 Yii Widget 1.0.1

• Добавлена поддержка yiisoft/definitions версии ^2.0 (PR).

• В решение в дружественном исключении WidgetFactoryInitializationException добавлен пример инициализации WidgetFactory.


🎁 Yii Runner 1.1.1

• Добавлена поддержка yiisoft/definitions версии ^2.0 (PR).


🎁 Yii Console Runner 1.0.1

• Добавлена поддержка yiisoft/definitions версии ^2.0 (PR).


🎁 Yii HTTP Runner 1.0.1

• Добавлена поддержка yiisoft/definitions версии ^2.0 (PR).


🎁 Yii RoadRunner Runner 1.0.1

• Добавлена поддержка yiisoft/definitions версии ^2.0 (PR).


🎁 Yii RBAC Rules Container 1.0.1

• Добавлена поддержка yiisoft/definitions версии ^2.0 (PR).
🔥1
⚡️ #yiisoftFactory #yiisoftWidget #yiisoftRbacRulesContainer

В CI добавили Rector, применили предлагаемые изменения и подняли минимальную требуемую версию PHP до ^8.0 в пакетах:
- Yii Factory (PR),
- Yii Widget (PR),
- Yii RBAC Rules Container (PR, PR).
👏3
#yiisoftWidget #МинорныйРелиз #Релиз

🎁 Yii Widget 1.1.0

• Минимальная требуемая версия PHP увеличена до ^8.0.

• Добавлена поддержка yiisoft/html версии ^3.0 (PR).

• Добавлена поддержка yiisoft/definitions версии ^3.0 (PR).

• Исправлена опечатка в содержимом решения в дружественном исключении WidgetFactoryInitializationException (PR).
👍4
⚡️ #yiisoftWidget

В пакете Yii Widget обновили dev-зависимости:
- vimeo/psalm до ^4.30|^5.4 (PR),
- rector/rector до ^0.15.1 (PR).
👏2
⚡️ #yiisoftWidget

В Yii Widget в методах виджета run() и afterRun() добавили возможность возвращать Stringable-объект (PR).
👍3
⚡️ #yiisoftWidget

В Yii Widget сильно упростили абстрактный класс виджета Widget (PR).

• Удалены методы beforeRun(), afterRun() и run().

• Метод render() сделан абстрактным.

Реализация простейшего виджета теперь выглядит так:

use Stringable;
use Yiisoft\Widget\Widget;

final class MyWidget extends Widget
{
public function render(): string|Stringable
{
return 'My first widget.'.
}
}
👍4
⚡️ #yiisoftWidget

Доработали метод Widget::widget() в Yii Widget (PR). Теперь сигнатура метода выглядит следующим образом:

final public static function widget(
array $constructorArguments = [],
array $config = []
): static


$constructorArguments — аргументы, передаваемые в конструктор виджета.

$config — полноценная конфигурация виджета, синтаксис из Yii Definitions.

Одновременно два аргумента передавать нельзя, будет брошено исключение.
👍3
#yiisoftWidget #МажорныйРелиз #Релиз

🎁 Yii Widget 2.0

• Из класса Widget удалены методы beforeRun(), afterRun() и run(), вместо этого теперь необходимо реализовывать метод render(). Пример реализации виджета:

final class MyWidget extends \Yiisoft\Widget\Widget
{
public function render(): string
{
return 'My first widget.'.
}
}


• Изменены параметры метода Widget::widget():
- первый параметр — параметры, передаваемые в конструктор виджета;
- второй параметр — полноценная конфигурация виджета (см. синтаксис в Yii Definitions).

😎 Релиз подготовили Сергей Предводителев, Wilmer Arambula, Рустам Мамадаминов и Александр Макаров.
👍6
#yiisoftWidget #МинорныйРелиз #Релиз

🎁 Yii Widget 2.1

• Добавлена поддержка тем (подробнее тут).

• Исправлено некорректное объединение аргументов конструктора из конфигураций виджета, переданных через метод widget() и заданных в конфигурации WidgetFactory.
👍7🔥1
#yiisoftWidget #МинорныйРелиз #Релиз

🎁 Yii Widget 2.2

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

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

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