Хроники 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
⚡️ #yiisoftArrays

Подчистили хелпер Yii Arrays (PR):

- подчищен код, улучшены doc-блоки;
- обновлены dev-зависимости;
- исправлены ошибки psalm;
- улучшены конфигурация GitHub Workflow и другие служебные файлы.
⚡️ Практически во всех пакетах добавлен ежедневный запуск тестов через 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
⚡️ #yiisoftArrays

В пакете Yii Arrays финализированы классы ArrayHelper и ArraySorter (PR).
⚡️ #yiisoftArrays

В хелпере ArrayHelper из пакета Yii Arrays в методах map(), index(), group(), htmlEncode() и htmlDecode() добавлена поддержка iterable-объектов (PR).

Спасибо Максиму Тимофееву за идею 👍
⚡️ #yiisoftArrays

Небольшие изменения в аннотациях psalm в пакете Yii Arrays для более комфортного использования (PR).
⚡️ #yiisoftArrays

Исправлена ошибка в методе ArrayHelper::getValue() (пакет Yii Arrays): в некоторых случаях возвращалось некорректное значение, если требуемый ключ не существует в массиве, значение по умолчанию является массивом (PR).
#yiisoftArrays #МажорныйРелиз #Релиз

🎁 Yii Arrays 2.0.0

• Добавлен метод ArrayHelper::group(), группирующий элементы массива по заданному ключу.

• Финализированы классы ArrayHelper и ArraySorter.

• В методах ArrayHelper::map(), ArrayHelper::index(), ArrayHelper::group(), ArrayHelper::htmlEncode() и ArrayHelper::htmlDecode() добавлена поддержка iterable-объектов.

• Исправлена ошибка в методе ArrayHelper::getValue(): в некоторых случаях возвращалось некорректное значение, если требуемый ключ не существует в массиве, а значение по умолчанию является массивом.

—————

#yiisoftVarDumper #МинорныйРелиз #Релиз

🎁 Yii VarDumper 1.2.0

• Добавлен метод VarDumper::withOffset(), позволяющий задать строку, которая будет использоваться для вложенности кода.

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

—————

#yiisoftHtml #ПатчРелиз #Релиз

🎁 Yii HTML 2.2.1

• Добавлена поддержка yiisoft/arrays версии ^2.0.
⚡️ #yiisoftArrays

Для большей ясности переписали описание метода ArrayHelper::getObjectVars() в пакете Yii Arrays (PR).
⚡️ #yiisoftArrays #yiisoftJson #yiisoftSession #yiisoftDbMssql

Исправили проблемы работы с PHP 8.1 в пакетах:

Yii Arrays (PR),
Yii JSON (PR),
Yii Session (PR),
Yii DB MSSQL Server Extension (PR).

Основная проблема — атрибут ReturnTypeWillChange, который появился в PHP 8.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
#yiisoftArrays #МинорныйРелиз #Релиз

🎁 Yii Arrays 2.1.0

• Для парсинга строковых путей в таких методах, как ArrayHelper::getValueByPath(), ArrayHelper::pathExists() и так далее, теперь используется метод StringHelper::parsePath() из Yii Strings, что добавило возможность экранирования символа разделителя с помощью обратного слэша (PR, PR).
🔥3
#yiisoftArrays #МажорныйРелиз #Релиз

🎁 Yii Arrays 3.0

• Добавлена поддержка геттеров при получении значений из объектов. Теперь можно так:

$price = ArrayHelper::getValue($product, 'getPrice()');

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

• Объединённые типы перенесены из аннотаций в сигнатуры методов.

• Исправлена ошибка в методе ArrayableTrait::toArray(): если поля не указаны, то в некоторых случаях возвращалось некорректное значение.

😎 В подготовке релиза приняли участие: Сергей Предводителев, Александр Макаров, Gani Georgiev и Дмитрий Дерепко.
🔥3👍1
#yiisoftArrays #МинорныйРелиз #Релиз

🎁 Yii Arrays 3.1

• Добавлен метод ArrayHelper::renameKey() для переименования ключа в массиве.

• Добавлен метод ArrayHelper::parametrizedMerge(), позволяющий рекурсивно слить два или более массивов с заданным уровнем вложенности.

• В методе ArrayHelper::getObjectVars() уточнён тип результата: array|nullarray.

• Выполнен небольшой рефакторинг в ArrayableTrait.
🔥8👍1👾1
#yiisoftArrays #МинорныйРелиз #Релиз

🎁 Yii Arrays 3.2

• В composer.json ограничение версии PHP изменено на ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0.

• Улучшены типы Psalm для ArrayHelper::getObjectVars(), ArrayableInterface, ArrayableTrait и ArrayAccessTrait.

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

• Для опциональных nullable-параметров явно прописан тип с null для совместимости с PHP 8.4.

ArrayHelper::getValue() теперь возвращает значение по умолчанию для ключа в виде пустого массива.

ArrayHelper::keyExists() теперь возвращает false для ключа в виде пустого массива.
👍3👾1