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

В пакете Yii Data добавлены фильтры Between, EqualsEmpty и EqualsNull (PR).
⚡️ #yiisoftData

Подчистили Yii Data (PR):

• сделали небольшой рефакторинг, вынесли часть кода из фильтров в новый хелпер FilterDataValidationHelper;

• улучшили сообщения в исключениях;

• подняли уровень Psalm до 1;

• улучшили настройки GitHub Actions.
👍1
⚡️ #yiisoftData

Доработки в Yii Data (PR).

• Исправили работу групповых фильтров: метод IterableProcessorInterface::match() всегда возвращает булев тип, а групповые фильтры в некоторых случаях ожидали null.

• Финализировали класс фильтра Equals.

• Сделали небольшой рефакторинг.

• Добавили тестов для фильтров и процессоров.
⚡️ #yiisoftData

Несколько улучшений в Yii Data:

• финализирован класс KeysetPaginator (PR);

• доработали сообщения об ошибках и добавили ещё тестов (PR).
👍1
⚡️ #yiisoftData

Рефакторинг в пакете Yii Data (PR):

• вынесли общий код из части процессоров данных в абстрактный класс CompareProcessor;

• в абстрактном фильтре GroupFilter и фильтре In изменили имя value на values у приватной переменной и аргумента конструктора.
👍41
⚡️ #yiisoftData

В пакете Yii Data добавлена поддержка DateTimeInterface в фильтрах и процессорах (PR):
- Between,
- Equals,
- GreaterThan,
- GreaterThanOrEqual,
- LessThan,
- LessThanOrEqual.
🔥4
⚡️ #yiisoftData

В классе KeysetPaginator пакета Yii Data исправлен код для получения геттера свойства по имени свойства (PR).

Ранее первый символ свойства приводился к верхнему регистру, что в свойствах, использующих подчёркивание приводила к ошибке:
created_atgetCreated_at

Новый алгоритм полноценно приводит имя свойства к Pascal Case:
created_atgetCreatedAt
👍1
⚡️ #yiisoftData

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

• в сортировке добавили метод Sort::withoutDefaultSorting(), позволяющий отключить использование настроек сортировки по умолчанию;

• финализировали классы процессоров.
⚡️ #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
⚡️ #yiisoftData

В GitHub Actions пакета Yii Data добавили конфигурацию для запуска Rector и применили предлагаемые изменения (PR).
🔥1
⚡️ #yiisoftData #yiisoftValidator #yiisoftHtml

В CI добавили процесс проверки транзитивных зависимостей:
- Yii Data (PR),
- Yii Validator (PR, commit),
- Yii HTML (PR, commit).
👍3🔥1
⚡️ #yiisoftData

В Yii Data обновили версии dev-зависимостей roave/infection-static-analysis-plugin и vimeo/psalm (PR).
👍3
⚡️ #yiisoftData

В пакете Yii Data обновили версию dev-зависимости rector/rector до ^0.15.0 (PR).
👍3
⚡️ #yiisoftData

В Yii Data для методов PaginatorInterface::with* заменили тип возвращаемого значения с self на static (PR).
👍2
⚡️ #yiisoftData

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

• Добавили поддержку массива объектов в IterableDataReader.

• В методах with* изменили тип возвращаемого значения с self на static.

• Исправили ошибки Psalm.
👍3
⚡️ #yiisoftData

В Yii Data интерфейс IterableProcessorInterface теперь расширяет FilterProcessorInterface, что позволило немного упростить код (PR).
👍3
#yiisoftData #ПервыйРелиз #МажорныйРелиз #Релиз

🎁 Yii Data 1.0

Пакет позволяет скрыть детали реализации операций чтения/записи/обработки данных с помощью абстракций.

• Абстракция чтения данных с поддержкой подсчёта количества элементов, сортировки, лимитов, смещений, фильтров и пост-фильтров.

• Абстракция разбивки на страницы и две реализации — "Offset" и "KeySet".

• Абстракция записи данных.

• Абстракция обработки данных.
👍6
#yiisoftData #ПатчРелиз #Релиз

🎁 Yii Data 1.0.1

• В методе FilterableDataInterface::withFilterHandlers() параметр $iterableFilterHandlers переименован в $filterHandlers.

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