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

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

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

Поддержать разработчиков:
https://opencollective.com/yiisoft
加入频道
#yiisoftYiiConsole #ПервыйРелиз #МажорныйРелиз #Релиз

🎁 Yii Console 1.0.0

Первый
релиз консоли, которую можно добавить в ваше приложение. "Под капотом" пакет использует консоль Symfony и добавляет к ней:

- команду serve для запуска встроенного в PHP сервера;

- события ApplicationStartup и ApplicationShutdown;

- поддержку дружественных исключений;

- стиль именования команд namespace/command;

- логирование ошибок;

- возможность добавления команд через конфигурацию Yii;

- "ленивую" загрузку команд через PSR-11 совместимый контейнер;

- набор предопределённых кодов выхода.

У пакета, как обычно, высокие технические показатели качества:
- 98% покрытие тестами;
- 82% MSI;
- 100% уровень покрытия типами;
- Psalm уровень 1.
⚡️ #yiisoftYiiCycle

Для консольных команд migrate/up и migrate/down в пакете Yii Cycle ORM добавлена поддержка опции --no-interaction (PR).
⚡️ #yiisoftWidget #yiisoftApp #yiisoftDemo

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

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

Обновили зависимости в Yii Logging DB Target и немного подчистили конфигурации GitHub Actions (PR).
#yiisoftYiiRunner #yiisoftYiiRunnerConsole #yiisoftYiiRunnerWeb #yiisoftYiiRunnerRoadrunner

Создан новый пакет Yii Runner, в который вынесен общий код, необходимый для запуска любого приложения:

- класс BootstrapRunner, для запуска bootstrap-кода;

- фабрика ConfigFactory для создания экземпляра класса Yiisoft\Config\Config;

- класс ThrowableHandler, реализующий RequestHandlerInterface, это обёртка исключения для его выброса в мидлвари обработчика ошибок;

- интерфейс RunnerInterface для скрытия деталей запуска приложения.

Также созданы три новых пакета с реализациями интерфейса RunnerInterface для запуска приложений соответствующего типа:

- Yii Console Runner,
- Yii Web Runner,
- Yii RoadRunner Runner.
⚡️ #yiisoftDefinitions

Продолжаем дорабатывать Yii Definitions (PR, PR):

- ParameterDefinition поглотил ClassDefinition;
- выполнен рефакторинг DefinitionExtractor.
⚡️ #yiisoftDi

В пакете Yii Dependency Injection выполнен рефакторинг класса DefinitionStorage (PR).
⚡️ #yiisoftYiiDataview #yiisoftYiiGii #yiisoftTranslatorMessageDb #yiisoftYiiDebugApi

Актуализировали зависимости в пакетах:

- Yii Data Widgets (PR),
- Gii (PR),
- Yii Translator DB Message Storage (PR),
- Yii Debug API (PR).
⚡️ #yiisoftRbacPhp

Исправлена ошибка в пакете Yii RBAC PHP File Storage: после изменения роли без изменения имени сбрасывались все назначения этой роли пользователям (PR).
⚡️ #yiisoftAppApi #yiisoftDemoApi

Исправлена ошибка в фабрике ConfigFactory в шаблоне API-приложения (PR) и демо API-приложения (PR).
#yiisoftAssets #МажорныйРелиз #Релиз

🎁 Yii Assets 2.0.0

Изменили публичный API для более удобного использования.

Метод Yiisoft\Assets\AssetManager::register() в качестве первого аргумента теперь принимает только один класс бандла. Для регистрации одновременно нескольких классов добавлен новый метод Yiisoft\Assets\AssetManager::registerMany() (PR).

—————

⚡️ #yiisoftDemo #yiisoftApp #yiisoftYiiJquery #yiisoftView #yiisoftYiiDebug #yiisoftYiiBootstrap5 #yiisoftYiiSwagger #yiisoftYiiAuthClient #yiisoftYiiBulma

Внесены соответствующие изменения в пакеты и приложения:

Демо веб-приложения (PR)
Шаблон веб-приложения (PR)
Yii jQuery (PR)
Yii View (PR)
Yii Debug (PR)
Yii Bootstrap 5 (PR)
Yii Swagger (PR)
Yii External Authentication (PR)
Yii Bulma (PR, PR)
⚡️ #yiisoftDemo

В демо веб-приложения исправлены ошибки на страницах с пагинацией (PR).
⚡️ #yiisoftForm

В пакете Yii Form улучшена конфигурация scrutinizer (PR): версия PHP изменена на 8.0.11 + мелкие правки.
⚡️ #yiisoftRouter

В пакете Yii Router у роутов добавлен магический метод Route::__debugInfo() для вывода отладочной информации (PR).
⚡️ #yiisoftDemo

В демо веб-приложения улучшена конфигурация scrutinizer (PR): версия PHP изменена на 8.0.11 + мелкие правки.
⚡️ #yiisoftRouter #yiisoftRouterFastroute #yiisoftApp #yiisoftDemo

В пакете Yii Router для хранения информации о текущем роуте добавлен интерфейс CurrentRouteInterface, содержащий только геттеры (PR).

Теперь в приложениях вместо класса CurrentRoute нужно использовать новый интерфейс CurrentRouteInterface.

Необходимые изменения внесены в пакеты и приложения:
- Yii Router FastRoute Adapter (PR),
- Шаблон веб-приложения (PR),
- Демо веб-приложения (PR).
#yiisoftI18n #МинорныйРелиз #Релиз

🎁 Yii Internationalization Library 1.1.0

Добавлена поддержка ключевых слов hours, colnumeric и colcasefirst (PR), которые являются частью ECMAScript 2022 Internationalization API Specification (ECMA-402 9th Edition), и их поддержка позволяет улучшить связь между PHP и JavaScript.

hours задаёт часовой цикл для локали (например, h11, h12, h23, h24). Подробности в документации: key/type definition for the Unicode Hour Cycle Identifier.

colnumeric и colcasefirst являются частью Unicode Locale Data Markup Language.
⚡️ #yiisoftDemo

В демо веб-приложения экшн ApiInfo перемещён в пространство имён App\Controller\Actions (PR).
⚡️ #yiisoftI18n

Немного причесали Yii Internationalization Library (PR): добавили тестов, улучшили readme, конфигурации GitHub Actions, doc-блоки и прочие мелкие улучшения.
#yiisoftCacheRedis

Добавили новый пакет Yii Cache Redis Handler — обработчик кэша для Yii Caching Library на основе Redis.
#yiisoftCacheRedis #ПервыйРелиз #МажорныйРелиз #Релиз

🎁 Yii Cache Redis Handler 1.0.0

Первый релиз PSR-16 обработчика кэша для Yii Caching Library на основе Redis.

Реализация основана на redis-клиенте Predis и может использовать как реализация PSR-16 кэша самостоятельно или с Yii Caching Library.