#yiisoftDefinitions #МажорныйРелиз #Релиз
🎁 Yii Definitions 1.0.0
Пакет предоставляет синтаксиc для описания способа создания и конфигурирования служб или объектов и включает в себя:
• Определения (
• Ссылки (
Сам по себе пакет не очень полезен для конечных пользователей фреймворка, но он является основой, на которой построены контейнер зависимостей Yii Dependency Injection и фабрика Yii Factory.
У пакета, как обычно, высокие технические показатели качества:
- 100% покрытие тестами;
- 92,9% MSI;
- 96,7% уровень покрытия типами;
- Psalm уровень 1.
🎁 Yii Definitions 1.0.0
Пакет предоставляет синтаксиc для описания способа создания и конфигурирования служб или объектов и включает в себя:
• Определения (
Definitions
), описывающие создаваемые службы или объекты (включает синтаксис, его валидацию и преобразование в объекты).• Ссылки (
Reference
) и динамические ссылки (DynamicReference
), указывающие на другие определения (включают дополнительную утилиту, позволяющую задать ссылки на несколько определений одновременно).Сам по себе пакет не очень полезен для конечных пользователей фреймворка, но он является основой, на которой построены контейнер зависимостей Yii Dependency Injection и фабрика Yii Factory.
У пакета, как обычно, высокие технические показатели качества:
- 100% покрытие тестами;
- 92,9% MSI;
- 96,7% уровень покрытия типами;
- Psalm уровень 1.
#yiisoftDefinitions #ПатчРелиз #Релиз
🎁 Yii Definitions 1.0.1
• Добавлена поддержка объектов в значениях параметров по умолчанию (PR).
Возможность использовать объекты в качестве значений параметров по умолчанию появилась в PHP 8.1, например:
Теперь это поддерживается в пакете Yii Definitions, а следовательно и в фабрике Yii Factory и в DI-контейнере Yii Dependency Injection.
🎁 Yii Definitions 1.0.1
• Добавлена поддержка объектов в значениях параметров по умолчанию (PR).
Возможность использовать объекты в качестве значений параметров по умолчанию появилась в PHP 8.1, например:
class Service
{
public function __construct(
private Logger $logger = new NullLogger(),
) {}
}
Теперь это поддерживается в пакете Yii Definitions, а следовательно и в фабрике Yii Factory и в DI-контейнере Yii Dependency Injection.
#yiisoftDefinitions #ПатчРелиз #Релиз
🎁 Yii Definitions 1.0.2
• При разрешении опциональной зависимости брошенные в процессе получения объекта из контейнера исключения теперь НЕ подавляются (PR, PR).
• Исправлено: в некоторых случаях при разрешении зависимостей c составными типами подавлялось исключение, возникающие если контейнер вернул значение не того типа (PR).
🎁 Yii Definitions 1.0.2
• При разрешении опциональной зависимости брошенные в процессе получения объекта из контейнера исключения теперь НЕ подавляются (PR, PR).
• Исправлено: в некоторых случаях при разрешении зависимостей c составными типами подавлялось исключение, возникающие если контейнер вернул значение не того типа (PR).
⚡️ #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)
Продолжаем заменять рабочие процессы на переиспользуемые из 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
⚡️ #yiisoftAccess #yiisoftErrorHandler #yiisoftDefinitions #yiisoftCache #yiisoftCsrf #yiisoftData #yiisoftAuth #yiisoftArrays #yiisoftCacheDb #yiisoftCacheFile #yiisoftCacheMemcached #yiisoftCacheRedis #yiisoftConfig #yiisoftCookies #yiisoftDataDb #yiisoftDataResponse #yiisoftDi #yiisoftActiveRecord #yiisoftDb #yiisoftDbMysql #yiisoftClassifier
Сделали небольшой рефакторинг в пакетах. Методы, вызываемые «цепочкой», перенесли на новую строку:
- Yii Access (PR)
- Yii Error Handler (PR)
- Yii Definitions (PR)
- Yii Caching Library (PR)
- Yii CSRF Protection Library (PR)
- Yii Data (PR)
- Yii Auth (PR)
- Yii Arrays (PR)
- Yii Cache DB Handler (PR)
- Yii Cache File Handler (PR)
- Yii Cache Memcached Handler (PR)
- Yii Cache Redis Handler (PR)
- Yii Config (PR)
- Yii Cookies (PR)
- Yii Data DB (PR)
- Yii Data Response (PR)
- Yii Dependency Injection (PR)
- Yii Active Record (PR)
- Yii DB (PR)
- Yii DB MySQL Extension (PR)
- Yii Classifier (PR)
Сделали небольшой рефакторинг в пакетах. Методы, вызываемые «цепочкой», перенесли на новую строку:
- Yii Access (PR)
- Yii Error Handler (PR)
- Yii Definitions (PR)
- Yii Caching Library (PR)
- Yii CSRF Protection Library (PR)
- Yii Data (PR)
- Yii Auth (PR)
- Yii Arrays (PR)
- Yii Cache DB Handler (PR)
- Yii Cache File Handler (PR)
- Yii Cache Memcached Handler (PR)
- Yii Cache Redis Handler (PR)
- Yii Config (PR)
- Yii Cookies (PR)
- Yii Data DB (PR)
- Yii Data Response (PR)
- Yii Dependency Injection (PR)
- Yii Active Record (PR)
- Yii DB (PR)
- Yii DB MySQL Extension (PR)
- Yii Classifier (PR)
👍6
⚡️ #yiisoftDefinitions
Несколько изменений в Yii Definitions (PR):
• метод
• удалён метод
Несколько изменений в Yii Definitions (PR):
• метод
DefinitionValidator::validateArrayDefinition()
сделан публичным;• удалён метод
ParameterDefinition::isBuiltin()
.#yiisoftDefinitions #МажорныйРелиз #Релиз
🎁 Yii Definitions 2.0.0
• Метод
• Удалён метод
• В дефинишене
🎁 Yii Definitions 2.0.0
• Метод
DefinitionValidator::validateArrayDefinition()
сделан публичным.• Удалён метод
ParameterDefinition::isBuiltin()
.• В дефинишене
ArrayDefinition
метод setReferenceContainer()
сделан иммутабельным и переименован в withReferenceContainer()
(PR).#yiisoftDefinitions #МинорныйРелиз #Релиз
🎁 Yii Definitions 2.1.0
• Добавлен метод
🎁 Yii Definitions 2.1.0
• Добавлен метод
Reference::optional()
, создающий опциональную ссылку на запись в DI-контейнер. В случае, если в контейнере нет соответствующей записи, будет возвращён null
вместо вызова исключения (PR).👍4
⚡️ #yiisoftDefinitions
Несколько улучшений в Yii Definitions для определений заданных массивом (PR).
• Добавили возможность автоматического разрешения зависимостей в методах.
• Для аргументов переменной длины добавили поддержку ссылок (
Несколько улучшений в Yii Definitions для определений заданных массивом (PR).
• Добавили возможность автоматического разрешения зависимостей в методах.
• Для аргументов переменной длины добавили поддержку ссылок (
Reference
и DynamicReference
).👍2🔥2
⚡️ #yiisoftDefinitions #yiisoftDi #yiisoftMiddlewareDispatcher
В CI добавили Rector, применили предлагаемые изменения, подняли минимальную версию PHP до
- Yii Definitions (PR),
- Yii Dependency Injection (PR),
- Yii Middleware Dispatcher (PR).
В CI добавили Rector, применили предлагаемые изменения, подняли минимальную версию PHP до
^8.0
и немного отрефакторили код в пакетах:- Yii Definitions (PR),
- Yii Dependency Injection (PR),
- Yii Middleware Dispatcher (PR).
👍4
⚡️ #yiisoftDefinitions
Несколько улучшений в Yii Definitions.
• В валидаторе дефинишенов добавлена проверка корректности имён методов в массивах (PR).
• В CI добавлена проверка транзитивных зависимостей (PR).
• Удалён лишний код, который был актуален только для PHP 7.4 (PR).
Несколько улучшений в Yii Definitions.
• В валидаторе дефинишенов добавлена проверка корректности имён методов в массивах (PR).
• В CI добавлена проверка транзитивных зависимостей (PR).
• Удалён лишний код, который был актуален только для PHP 7.4 (PR).
👏2
#yiisoftDefinitions #МажорныйРелиз #Релиз
🎁 Yii Definitions 3.0.0
• Добавлено автоматическое разрешение зависимостей в методах.
• Для аргументов переменной длины (variadic) добавлена поддержка ссылок (
• Изменён формат массива, возвращаемого методом
• В валидаторе дефинишенов добавлена проверка корректности имён методов в массивах.
• Исправлена ошибка: дефинишен в виде пустой строки считался валидным (PR).
• Минимальная версия PHP увеличена до
• Удалён код, актуальный только для PHP 7.4 (PR).
• MSI пакета увеличен до 100% (PR).
🎁 Yii Definitions 3.0.0
• Добавлено автоматическое разрешение зависимостей в методах.
• Для аргументов переменной длины (variadic) добавлена поддержка ссылок (
Reference
и DynamicReference
).• Изменён формат массива, возвращаемого методом
DefinitionStorage::getBuildStack()
: массив ID методов вместо массива, где ID методов были ключами, а значения всегда 1
(PR).• В валидаторе дефинишенов добавлена проверка корректности имён методов в массивах.
• Исправлена ошибка: дефинишен в виде пустой строки считался валидным (PR).
• Минимальная версия PHP увеличена до
^8.0
.• Удалён код, актуальный только для PHP 7.4 (PR).
• MSI пакета увеличен до 100% (PR).
🎉3🔥1
#yiisoftDefinitions #ПатчРелиз #Релиз
🎁 Yii Definitions 3.0.1
• Исправлена ошибка: после добавления автоматического разрешения зависимостей при вызове методов перестал работать вызов несуществующих методов, которые отрабатывают через магический метод
🎁 Yii Definitions 3.0.1
• Исправлена ошибка: после добавления автоматического разрешения зависимостей при вызове методов перестал работать вызов несуществующих методов, которые отрабатывают через магический метод
__call()
(PR).👍4
#yiisoftDefinitions #ПатчРелиз #Релиз
🎁 Yii Definitions 3.0.2
• Улучшили сообщения об ошибках при валидации дефинишенов (PR).
🎁 Yii Definitions 3.0.2
• Улучшили сообщения об ошибках при валидации дефинишенов (PR).
🔥2
⚡️ #yiisoftRbacRulesContainer #yiisoftDi #yiisoftDefinitions #yiisoftI18n
Обновили версию dev-зависимости
- Yii RBAC Rules Container (PR),
- Yii Dependency Injection (PR),
- Yii Definitions (PR),
- Yii Internationalization Library (PR).
Обновили версию dev-зависимости
rector/rector
до ^0.15.2
в пакетах:- Yii RBAC Rules Container (PR),
- Yii Dependency Injection (PR),
- Yii Definitions (PR),
- Yii Internationalization Library (PR).
👍3
#yiisoftDefinitions #МинорныйРелиз #Релиз
🎁 Yii Definitions 3.1
• Добавлен новый хелпер
😎 Релиз подготовил Сергей Предводителев.
🎁 Yii Definitions 3.1
• Добавлен новый хелпер
ArrayDefinitionHelper
с методом merge()
, который предназначен для объединения двух и более дефинишенов в виде массивов в один массив.😎 Релиз подготовил Сергей Предводителев.
👍7
#yiisoftDefinitions #МинорныйРелиз #Релиз
🎁 Yii Definitions 3.2
• В методе
😎 Релиз подготовил Сергей Предводителев.
🎁 Yii Definitions 3.2
• В методе
DynamicReferencesArray::from()
добавлена поддержка дефинишенов в любом допустимом формате, а не только в виде строк.😎 Релиз подготовил Сергей Предводителев.
👍2
#yiisoftDefinitions #МинорныйРелиз #Релиз
🎁 Yii Definitions 3.3
• В определениях в формате массива добавлена возможность вызвать один и тот же метод несколько раз. Для этого в ключе после
• Исправлена фатальная ошибка, возникающая при использовании пересечений типов.
🎁 Yii Definitions 3.3
• В определениях в формате массива добавлена возможность вызвать один и тот же метод несколько раз. Для этого в ключе после
()
нужно добавить любой постфикс. Например:[
'class' => Collector::class,
'add()' => ['Alex'],
'add()-2' => ['Mike'],
]
• Исправлена фатальная ошибка, возникающая при использовании пересечений типов.
👍5🤔1🤯1👾1
#yiisoftDefinitions #ПатчРелиз #Релиз
🎁 Yii Definitions 3.3.1
• Исправлено некорректное разрешение
• Удален лишний код в
🎁 Yii Definitions 3.3.1
• Исправлено некорректное разрешение
ParameterDefinition
для опциональных параметров с объединёнными типами. Вместо значения по умолчанию, ранее всегда возвращался null
.• Удален лишний код в
DefinitionStorage
.👍5👾1
#yiisoftDefinitions #МинорныйРелиз #Релиз
🎁 Yii Definitions 3.4
• Улучшена валидация дефинишенов для свойств «только для чтения» и свойств с ассиметричной видимостью.
• Встроенные функции PHP теперь вызываются в корневом пространстве имён, что в некоторых случаях даёт выигрыш по производительности.
• Удалено «лишнее» условие в
• Явно отмечены свойства классов только для чтения.
• Минимальная версия PHP повышена до 8.1.
• Ограничение версии PHP в
• Для опциональных nullable-параметров явно прописан тип с
🎁 Yii Definitions 3.4
• Улучшена валидация дефинишенов для свойств «только для чтения» и свойств с ассиметричной видимостью.
• Встроенные функции PHP теперь вызываются в корневом пространстве имён, что в некоторых случаях даёт выигрыш по производительности.
• Удалено «лишнее» условие в
DefinitionValidator::validate()
, которое выполнялось всегда.• Явно отмечены свойства классов только для чтения.
• Минимальная версия PHP повышена до 8.1.
• Ограничение версии PHP в
composer.json
изменено на ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0
.• Для опциональных nullable-параметров явно прописан тип с
null
для совместимости с PHP 8.4.👍5👾1