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

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

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

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

🎁 Yii Middleware Dispatcher 2.0.0

Изменён порядок выполнения мидлварей, задаваемых с помощью метода MiddlewareDispatcher::withMiddlewares(): теперь мидлвари выполняются от первой к последней и обратно (PR).

⚡️ #yiisoftApp #yiisoftAppApi #yiisoftDemo #yiisoftDemoApi #yiisoftRouter

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

Шаблон веб-приложения (PR),
Шаблон API-приложения (PR),
Демо веб-приложения (PR),
Демо API-приложения (PR),
Yii Router (PR).
⚡️ #yiisoftMiddlewareDispatcher

Улучшили описания в doc-блоках и обновили dev-зависимости в пакете Yii Middleware Dispatcher (PR).
⚡️ #yiisoftMiddlewareDispatcher

В пакете Yii Middleware Dispatcher в отладочную информацию обёртки на мидлварями в виде функций обратного вызова добавили саму эту функцию (PR).
#yiisoftMiddlewareDispatcher #ПатчРелиз #Релиз

🎁 Yii Middleware Dispatcher 2.0.1

• Добавлена отладочная информация для обёртки на мидлварями в виде функций обратного вызова.
👍1
⚡️ #yiisoftAccess #yiisoftErrorHandler #yiisoftEventDispatcher #yiisoftFactory #yiisoftHttp #yiisoftI18n #yiisoftAliases #yiisoftJson #yiisoftProfiler #yiisoftInjector #yiisoftMailerSymfony #yiisoftMutex #yiisoftRateLimiter #yiisoftNetworkUtilities #yiisoftSession #yiisoftRouter #yiisoftStrings #yiisoftRouterFastroute #yiisoftRequestBodyParser #yiisoftTranslatorMessageGettext #yiisoftTranslatorExtractor #yiisoftTranslatorFormatterSimple #yiisoftTranslator #yiisoftTranslatorFormatterIntl #yiisoftTranslatorMessageDb #yiisoftUser #yiisoftVarDumper #yiisoftViewTwig #yiisoftYiiEvent #yiisoftTranslatorMessagePhp #yiisoftDataResponse #yiisoftCacheFile #yiisoftCookies #yiisoftCsrf #yiisoftAssets #yiisoftAuthJwt #yiisoftLog #yiisoftArrays #yiisoftYiiFilesystem #yiisoftYiiHttp #yiisoftYiiRunnerHttp #yiisoftLogTargetFile #yiisoftLogTargetEmail #yiisoftYiiRunnerRoadrunner #yiisoftSecurity #yiisoftYiiSwagger #yiisoftYiiSentry #yiisoftMutexFile #yiisoftMiddlewareDispatcher #yiisoftTestSupport #yiisoftYiiDebug #yiisoftYiiDebugViewer #yiisoftCacheApcu #yiisoftYiiDataview #yiisoftLogTargetSyslog #yiisoftAuth #yiisoftDefinitions #yiisoftRbacPhp #yiisoftDataDb #yiisoftData #yiisoftRequestModel #yiisoftDi #yiisoftConfig #yiisoftRbacRulesContainer

Продолжаем заменять рабочие процессы на переиспользуемые из Yii GitHub Actions:

- Yii Access (PR)
- Yii Error Handler (PR)
- Yii Event Dispatcher (PR)
- Yii Factory (PR)
- Yii HTTP (PR)
- Yii Internationalization Library (PR)
- Yii Aliases (PR)
- Yii JSON (PR)
- Yii Profiler (PR)
- Yii Injector (PR)
- Yii Mailer Symfony Mailer Extension (PR)
- Yii Mutex (PR)
- Yii Rate Limiter Middleware (PR)
- Yii Network Utilities (PR)
- Yii Session (PR)
- Yii Router (PR)
- Yii Strings (PR)
- Yii Router FastRoute Adapter (PR)
- Yii Request Body Parser (PR)
- Yii Translator gettext Message Storage (PR)
- Yii Message Extractor (PR)
- Yii Translator Simple Message Formatter (PR)
- Yii Message Translator (PR)
- Yii Translator intl Message Formatter (PR)
- Yii Translator DB Message Storage (PR)
- Yii User (PR)
- Yii VarDumper (PR)
- Yii View Twig Renderer (PR)
- Yii Event (PR)
- Yii Translator PHP Message Storage (PR)
- Yii Data Response (PR)
- Yii Cache File Handler (PR)
- Yii Cookies (PR)
- Yii CSRF Protection Library (PR)
- Yii Assets (PR)
- Yii Auth JWT (PR)
- Yii Logging Library (PR)
- Yii Arrays (PR)
- Yii Filesystem (PR)
- Yii HTTP Application (PR)
- Yii HTTP Runner (PR)
- Yii Logging File Target (PR)
- Yii Logging Email Target (PR)
- Yii RoadRunner Runner (PR)
- Yii Security (PR)
- Yii Swagger (PR)
- Yii Sentry (PR)
- Yii Mutex File Driver (PR)
- Yii Middleware Dispatcher (PR)
🤯6👍5
⚡️ #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
⚡️ #yiisoftMiddlewareDispatcher

В пакете Yii Middleware Dispatcher исключение InvalidMiddlewareDefinitionException сделали дружественным (PR).
⚡️ #yiisoftMiddlewareDispatcher

В Yii Middleware Dispatcher добавили поддержку определения мидлварей с помощью массивов (array definition) из Yii Definitions (PR).

Теперь можно задавать мидлварь вот так:

[
'class' => MyMiddleware::class,
'__construct()' => [
'someVar' => 42,
],
]
#yiisoftMiddlewareDispatcher #МинорныйРелиз #Релиз

🎁 Yii Middleware Dispatcher 2.1.0

• Добавлена поддержка массивов для конфигурации мидлварей (см. описание синтаксиса). Например:

$dispatcher = $dispatcher->withMiddlewares([
[
'class' => MyMiddleware::class,
'__construct()' => [
'someVar' => 42,
],
],
]);


• Для исключения InvalidMiddlewareDefinitionException реализован интерфейс дружественного исключения с описанием решения проблемы.
👍3
#yiisoftMiddlewareDispatcher #МажорныйРелиз #Релиз

Доработали readme (PR) и сделали мажорный релиз.

🎁 Yii Middleware Dispatcher 3.0.0

• Добавлен интерфейс WrapperFactoryInterface (используется для создания обёрток вокруг мидлварей) и его реализация (PR).

• Удалён MiddlewareFactoryInterface (PR, PR).
❤‍🔥2
⚡️ #yiisoftDefinitions #yiisoftDi #yiisoftMiddlewareDispatcher

В CI добавили Rector, применили предлагаемые изменения, подняли минимальную версию PHP до ^8.0 и немного отрефакторили код в пакетах:
- Yii Definitions (PR),
- Yii Dependency Injection (PR),
- Yii Middleware Dispatcher (PR).
👍4
#yiisoftMiddlewareDispatcher #МажорныйРелиз #Релиз

В CI пакета добавили проверку транзитивных зависимостей (PR) и сделали мажорный релиз (в процессе рефакторинга изменилась сигнатура метода MiddlewareFactory::create()).

🎁 Yii Middleware Dispatcher 4.0.0

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

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

В Yii Middleware Dispatcher обновили dev-зависимости (PR):
- vimeo/psalm до ^4.30|^5.2;
- roave/infection-static-analysis-plugin до ^1.18.
👍3
⚡️ #yiisoftMiddlewareDispatcher

В Yii Middleware Dispatcher несколько улучшений (PR):
- удалили интерфейс WrapperFactoryInterface;
- интегрировали фабрику WrapperFactory в класс фабрики мидлварей MiddlewareFactory;
- добавили интерфейс ParametersResolverInterface, позволяющий через инжектор передавать параметры в экшен.

Также в пакете обновили Rector до версии ^0.15.1 (PR).
👍2🔥1
⚡️ #yiisoftMiddlewareDispatcher

В Yii Middleware Dispatcher добавили поддержку любых callable-мидлварей, а не только \Closure (PR).
👍3
⚡️ #yiisoftMiddlewareDispatcher

В пакете Yii Middleware Dispatcher удалили конфигурацию scrutinizer, а в readme добавили бейдж с уровнем Psalm и заменили бейдж покрытия тестов на бейдж от Codecov (PR).
👍3
#yiisoftMiddlewareDispatcher #МажорныйРелиз #Релиз

🎁 Yii Middleware Dispatcher 5.0.0

• Добавлена поддержка любых callable-мидлварей, а не только \Closure.

• Добавлен интерфейс ParametersResolverInterface, позволяющий через инжектор передавать параметры в экшен.

• Фабрика WrapperFactory интегрирована в класс фабрики мидлварей MiddlewareFactory.

• Удалён интерфейс WrapperFactoryInterface.
👍4
#yiisoftMiddlewareDispatcher #МинорныйРелиз #Релиз

🎁 Yii Middleware Dispatcher 5.1

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

• Добавлена поддержка psr/http-message версии ^2.0.

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

😎 Релиз подготовили Сергей Предводителев и Сергей Шугаев.
🔥62
#yiisoftMiddlewareDispatcher #МинорныйРелиз #Релиз

🎁 Yii Middleware Dispatcher 5.2.0

• Добавлена возможность использовать классы, реализующие PSR-интерфейс RequestHandlerInterface, в качестве мидлварей.

• Добавлена возможность использовать классы с магическим методом __invoke() в качестве мидлварей.
🔥3👍1
#yiisoftMiddlewareDispatcher #МинорныйРелиз #Релиз

🎁 Yii Middleware Dispatcher 5.3

• Добавлена поддержка формата мидлварей в виде callable, возвращающего реализацию RequestHandlerInterface.

• Минимальная версия PHP поднята до 8.1.

• Ограничение версии PHP в composer.json изменено на 8.1 - 8.4.

• Свойство MiddlewareStack::$fallbackHandler помечено только для чтения.

• Добавлен коллектор MiddlewareCollector для Yii Debug.
👍7🍌2👎1👾1