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

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

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

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

В пакете Yii Proxy исправлена ошибка с некорректным проксированием исключений, что в некоторых случаях приводило к дублированию текста ошибки (PR).

Спасибо @mahmud128 за обнаруженную проблему.
⚡️ #yiisoftProxy

В пакете Yii Proxy откатили PR, который исправлял ошибку с некорректным проксированием исключений. Решение подразумевало клонирование объекта-исключения, но оказалось это вызывает ошибку. Будем думать как сделать по другому.
⚡️ #yiisoftProxy

В пакете Yii Proxy снова исправлена ошибка с некорректным проксированием исключений, что в некоторых случаях приводило к дублированию текста ошибки (PR). Теперь выбрасывается тоже самое исключение без каких-либо изменений.
⚡️ Практически во всех пакетах добавлен ежедневный запуск тестов через GitHub Workflow.

#yiisoftCacheWincache #yiisoftView #yiisoftDi #yiisoftStrings #yiisoftRbacPhp #yiisoftYiiConsole #yiisoftCache #yiisoftDb #yiisoftRbac #yiisoftYiiAuthClient #yiisoftYiiGii #yiisoftViewTwig #yiisoftYiiWeb #yiisoftDbMssql #yiisoftDbOracle #yiisoftLog #yiisoftYiiDebug #yiisoftDbSqlite #yiisoftDbPgsql #yiisoftDbMysql #yiisoftEventDispatcher #yiisoftI18n #yiisoftYiiEvent #yiisoftYiiDbMigration #yiisoftValidator #yiisoftUser #yiisoftTranslatorMessageGettext #yiisoftSecurity #yiisoftMiddlewareDispatcher #yiisoftMutex #yiisoftNetworkUtilities #yiisoftProfiler #yiisoftProxy #yiisoftRequestBodyParser #yiisoftRouterFastroute #yiisoftInjector #yiisoftCacheApcu #yiisoftAuthJwt #yiisoftAuth #yiisoftAssets #yiisoftArrays #yiisoftAliases #yiisoftDemoApi #yiisoftDemo #yiisoftDataResponse #yiisoftData #yiisoftCsrf #yiisoftCookies #yiisoftConfig #yiisoftCacheMemcached #yiisoftCacheFile #yiisoftHttp #yiisoftHtml #yiisoftFiles #yiisoftFactory #yiisoftErrorHandler #yiisoftLogTargetDb #yiisoftLogTargetEmail #yiisoftLogTargetFile #yiisoftRequestModel #yiisoftRbacSpiralDb #yiisoftRateLimiter #yiisoftPackageTemplate #yiisoftMutexRedis #yiisoftMutexPdoPgsql #yiisoftMutexPdoOracle #yiisoftMutexFile #yiisoftMutexPdoMysql #yiisoftTranslatorFormatterSimple #yiisoftTranslatorFormatterIntl #yiisoftTranslatorExtractor #yiisoftTranslator #yiisoftTestSupport #yiisoftSession #yiisoftRouter #yiisoftRequirements #yiisoftTranslatorMessageDb #yiisoftTranslatorMessagePhp #yiisoftVarDumper #yiisoftWidget #yiisoftYiiBootstrap5 #yiisoftYiiBulma #yiisoftYiiCycle #yiisoftYiiDataview #yiisoftYiiDebugApi #yiisoftYiiDebugViewer #yiisoftMailerSwiftmailer #yiisoftMailer #yiisoftLogTargetSyslog #yiisoftJson #yiisoftForm #yiisoftYiiWidgets #yiisoftYiiView #yiisoftYiiSwagger #yiisoftYiiSentry
⚡️ #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
⚡️ #yiisoftProxy #yiisoftYiiDebug

Сделали рефакторинг пакета Yii Proxy (PR):

• Сгруппировали все классы конфигураций в новой папке Config.

• Переименовали класс ClassConfigurator в ClassConfigFactory.

• Удалил "мёртвый" код.

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

• Начали использовать именованные параметры.

• Исправили ошибки psalm.

• Актуализировали конфигурации GitHub Actions.

• Обновили конфигурацию PHPUnit.

Соответствующие изменения внесли Yii Debug (PR).
⚡️ #yiisoftProxy #yiisoftYiiDebug

Несколько улучшений в Yii Proxy (PR).

Добавлена возможность создавать прокси-объект для объектов без итерфейса:
- в классе ProxyManager метод createObjectProxyFromInterface() переименован в createObjectProxy();
- в классе ClassConfigFactory метод getInterfaceConfig() переименован в getClassConfig().

В классе MethodConfig из конструктора удалён параметр $hasReturnType и добавлен метод hasReturnType().

В классе ParameterConfig из конструктора удалён параметр $hasType и добавлен метод hasType().

Соответствующие изменения внесли в Yii Debug (PR).
👍2
⚡️ #yiisoftProxy

В пакете Yii Proxy адаптировали класс ClassConfigFactory для работы с объединениями типов (PR).
⚡️ #yiisoftProxy #yiisoftYiiDebug

В пакете Yii Proxy добавили описаний в doc-блоки и readme, а также сделали небольшой рефакторинг (PR).

Yii Debug адаптировали к этим изменениям (PR).
⚡️ #yiisoftProxy

Продолжаем работу над Yii Proxy:
- добавили поддержку встроенных в PHP интерфейсов (PR);
- в ParameterConfig убрали свойство allowsNull (PR);
- добавили поддержку yiisoft/files версии ^2.0 (PR, PR).
⚡️ #yiisoftProxy

Ещё несколько улучшений в Yii Proxy:
- добавили поддержку объектов с параметрами в конструкторе (PR);
- убрали сохранение и рендеринг интерфейсов, реализуемых классом (они нигде не используются), а также скорректировали обработку модификаторов методов интерфейса (PR);
- добавили тестов (PR).
#yiisoftProxy #ПервыйРелиз #МажорныйРелиз #Релиз

🎁 Yii Proxy 1.0.0

Пакет позволяет создавать универсальные прокси для классов, то есть даёт возможность перехватывать все вызовы методов класса.

В Yii Debug проксирование объектов используется для сбора информации о вызовах методов в сервисах.
🎉12
#yiisoftProxy #ПатчРелиз #Релиз

🎁 Yii Proxy 1.0.1

• Возвращена имплементация прокси-классами интерфейсов основного класса (PR, PR).
⚡️ #yiisoftProxy

В Yii Proxy несколько классов пометили как "внутренние" (PR):
- ClassConfigFactory,
- ClassRenderer,
- ClassConfig,
- MethodConfig,
- ParameterConfig,
- TypeConfig,
- ProxyTrait.
#yiisoftProxy #ПатчРелиз #Релиз

🎁 Yii Proxy 1.0.2

• Исправлено: в некоторых случаях некорректно генерировались модификаторы классов и методов (PR).
⚡️ #yiisoftProxy

В Yii Proxy исправили ошибку при создании прокси-объекта, в сигнатуре которого встречаются объединения типов, включающие null (PR).
🔥2
⚡️ #yiisoftProxy

В Yii Proxy исправили ошибку при создании прокси-объекта, в сигнатуре которого встречаются пересечения типов (PR).
🔥2
#yiisoftProxy #ПатчРелиз #Релиз

🎁 Yii Proxy 1.0.3

Подняли уровень статического анализа psalm до 1 (PR) и сделали патч-релиз.

• Исправлена ошибка при создании прокси-объекта, в сигнатуре которого встречаются объединения типов, включающие null.

• Исправлена ошибка при создании прокси-объекта, в сигнатуре которого встречаются пересечения типов.

• Финализирован конструктор в классе ObjectProxy (PR).
🔥1
#yiisoftProxy #ПатчРелиз #Релиз

🎁 Yii Proxy 1.0.4

Во вчерашнем релизе ошибочно финализировали конструктор в ObjectProxy. Переопределение конструктора используется в Yii Debug. Исправляемся.

• Удалена финализация конструктора в классе ObjectProxy (PR).
🔥3
#yiisoftProxy #ПатчРелиз #Релиз

🎁 Yii Proxy 1.0.5

• Исправлено: в некоторых случаях генерировалась ошибка уровня E_WARNING при вызове метода ClassCache::get().

😎 Релиз подготовил Сергей Предводителев.
👍5