⚡️ #yiisoftDi
Изменили способ конфигурирования контейнера в Yii Dependency Injection: теперь вместо передачи нескольких параметров (дефинишены, делегаты и др.) в конструктор передаётся реализация интерфейса
Пример:
⚡️ #yiisoftDocs #yiisoftYiiJquery #yiisoftInjector #yiisoftYiiAuthClient #yiisoftLogTargetDb #yiisoftYiiDebugViewer #yiisoftTranslatorMessageDb #yiisoftYiiDbMigration #yiisoftYiiDebug #yiisoftYiiBootstrap5 #yiisoftTranslatorExtractor #yiisoftYiiDataview #yiisoftYiiSwagger #yiisoftYiiRunnerConsole #yiisoftAppApi #yiisoftYiiRunnerRoadrunner #yiisoftYiiGii #yiisoftYiiRunnerHttp #yiisoftApp #yiisoftDemo
Соответствующие изменения внесены в документацию (PR), приложения и пакеты:
Yii jQuery (PR),
Yii Injector (PR),
Yii External Authentication (PR),
Yii Logging DB Target (PR),
Yii Debug Viewer (PR),
Yii Translator DB Message Storage (PR),
Yii DB Migration (PR),
Yii Debug (PR),
Yii Bootstrap 5 (PR),
Yii Message Extractor (PR),
Yii Data Widgets (PR),
Yii Swagger (PR),
Yii Console Runner (PR),
Yii RoadRunner Runner (PR),
Yii HTTP Runner (PR),
Gii (PR),
Шаблон API-приложения (PR),
Шаблон веб-приложения (PR),
Демо веб-приложения (PR).
Изменили способ конфигурирования контейнера в Yii Dependency Injection: теперь вместо передачи нескольких параметров (дефинишены, делегаты и др.) в конструктор передаётся реализация интерфейса
ContainerConfigInterface
, позволяющая получить конфигурацию контейнера (PR).Пример:
$config = ContainerConfig::create()
->withDefinitions($definitions)
->withProviders($providers)
->withTags($tags)
->withValidate(false)
->withDelegates($delegates);
$container = new Container($config);
⚡️ #yiisoftDocs #yiisoftYiiJquery #yiisoftInjector #yiisoftYiiAuthClient #yiisoftLogTargetDb #yiisoftYiiDebugViewer #yiisoftTranslatorMessageDb #yiisoftYiiDbMigration #yiisoftYiiDebug #yiisoftYiiBootstrap5 #yiisoftTranslatorExtractor #yiisoftYiiDataview #yiisoftYiiSwagger #yiisoftYiiRunnerConsole #yiisoftAppApi #yiisoftYiiRunnerRoadrunner #yiisoftYiiGii #yiisoftYiiRunnerHttp #yiisoftApp #yiisoftDemo
Соответствующие изменения внесены в документацию (PR), приложения и пакеты:
Yii jQuery (PR),
Yii Injector (PR),
Yii External Authentication (PR),
Yii Logging DB Target (PR),
Yii Debug Viewer (PR),
Yii Translator DB Message Storage (PR),
Yii DB Migration (PR),
Yii Debug (PR),
Yii Bootstrap 5 (PR),
Yii Message Extractor (PR),
Yii Data Widgets (PR),
Yii Swagger (PR),
Yii Console Runner (PR),
Yii RoadRunner Runner (PR),
Yii HTTP Runner (PR),
Gii (PR),
Шаблон API-приложения (PR),
Шаблон веб-приложения (PR),
Демо веб-приложения (PR).
⚡️ #yiisoftRouter
Готовим Yii Router к релизу: подняли уровень psalm до 1 (PR) и удалили интерфейсы
Удалённые интерфейсы вводились для разделения контекстов использования (конфигурирование и получение данных), но практика показала, что это было неудачное решение (типизация по факту некорректная + интерфейсы вводят в заблуждение). Но, чтобы всё-таки повысить удобство публичного API, мы объединили методы, которые требуются только внутри пакета, и пометили их как
• в классе
• в классе
• в классе
• метод
—————
⚡️ #yiisoftRouterFastroute #yiisoftRequestModel #yiisoftYiiDebugApi #yiisoftYiiDataview #yiisoftDocs #yiisoftDemo #yiisoftApp #yiisoftDemoApi
Соответствующие изменения были внесены в документацию (PR), приложения и пакеты:
- Yii Router FastRoute Adapter (PR),
- Yii Request Model (PR, PR),
- Yii Debug API (PR),
- Yii Data Widgets (PR),
- Шаблон веб-приложения (PR),
- Демо веб-приложения (PR),
- Демо API-приложения (PR).
Готовим Yii Router к релизу: подняли уровень psalm до 1 (PR) и удалили интерфейсы
CurrentRouteInterface.php
, GroupInterface
, RouteInterface
, RouteParametersInterface
(PR).Удалённые интерфейсы вводились для разделения контекстов использования (конфигурирование и получение данных), но практика показала, что это было неудачное решение (типизация по факту некорректная + интерфейсы вводят в заблуждение). Но, чтобы всё-таки повысить удобство публичного API, мы объединили методы, которые требуются только внутри пакета, и пометили их как
@internal
:• в классе
Route
методы getDispatcherWithMiddlewares()
, getName()
, getMethods()
, getPattern()
, getHost()
, isOverride()
, getDefaults()
, hasMiddlewares()
, getDispatcherWithMiddlewares()
объединены в один getData()
;• в классе
Group
методы getCorsMiddleware()
, hasCorsMiddleware()
, getMiddlewareDefinitions()
, getItems()
, getPrefix()
, getNamePrefix()
, getHost()
объединены в один getData()
;• в классе
CurrentRoute
методы setRoute()
и setArguments()
объединены в один setRouteWithArguments()
;• метод
CurrentRoute::setUri()
также помечен как @internal
.—————
⚡️ #yiisoftRouterFastroute #yiisoftRequestModel #yiisoftYiiDebugApi #yiisoftYiiDataview #yiisoftDocs #yiisoftDemo #yiisoftApp #yiisoftDemoApi
Соответствующие изменения были внесены в документацию (PR), приложения и пакеты:
- Yii Router FastRoute Adapter (PR),
- Yii Request Model (PR, PR),
- Yii Debug API (PR),
- Yii Data Widgets (PR),
- Шаблон веб-приложения (PR),
- Демо веб-приложения (PR),
- Демо API-приложения (PR).
⚡️ #yiisoftDocs
В документации добавили секцию о предзагрузке скриптов в разделе «Настройка производительности» (PR).
В документации добавили секцию о предзагрузке скриптов в разделе «Настройка производительности» (PR).
👍1
⚡️ #yiisoftDocs
В разделе «Стиль кода» документации добавили соглашение об именовании коллекций: классы, интерфейсы, трейты и переменные, являющиеся коллекцией, должны оканчиваться на
В разделе «Стиль кода» документации добавили соглашение об именовании коллекций: классы, интерфейсы, трейты и переменные, являющиеся коллекцией, должны оканчиваться на
Collection
(PR).👍3
⚡️ #yiisoftDocs
В документацию добавили соглашение о поддерживаемых версиях PHP (PR).
Версии PHP, поддерживаемые пакетами и шаблонами приложений, зависят от жизненного цикла версий PHP.
• Версии пакетов с активной поддержкой ДОЛЖНЫ поддерживать все версии PHP, которые находятся в стадии активной поддержки.
• У пакетов и шаблонов приложений ДОЛЖНЫ быть версии получающие исправления ошибок и проблем безопасности, поддерживающие версии PHP, которые находятся в стадии поддержки безопасности.
• Пакеты и шаблоны приложений МОГУТ иметь поддерживаемые версии, которые работают с неподдерживаемыми версиями PHP.
• Поднятие минимальной версии PHP в пакете или шаблоне приложения считается минорным изменением.
• Исключение: пакеты и шаблоны приложений МОГУТ не поддерживать PHP 7.4.
В документацию добавили соглашение о поддерживаемых версиях PHP (PR).
Версии PHP, поддерживаемые пакетами и шаблонами приложений, зависят от жизненного цикла версий PHP.
• Версии пакетов с активной поддержкой ДОЛЖНЫ поддерживать все версии PHP, которые находятся в стадии активной поддержки.
• У пакетов и шаблонов приложений ДОЛЖНЫ быть версии получающие исправления ошибок и проблем безопасности, поддерживающие версии PHP, которые находятся в стадии поддержки безопасности.
• Пакеты и шаблоны приложений МОГУТ иметь поддерживаемые версии, которые работают с неподдерживаемыми версиями PHP.
• Поднятие минимальной версии PHP в пакете или шаблоне приложения считается минорным изменением.
• Исключение: пакеты и шаблоны приложений МОГУТ не поддерживать PHP 7.4.
🔥7
⚡️ #yiisoftDocs
В документации зафиксировали соглашение об использовании атрибутов PhpStorm (PR).
Атрибуты PhpStorm МОГУТ использоваться в коде, но пакет
В документации зафиксировали соглашение об использовании атрибутов PhpStorm (PR).
Атрибуты PhpStorm МОГУТ использоваться в коде, но пакет
jetbrains/phpstorm-attributes
ДОЛЖЕН быть добавлен как dev-зависимость.⚡️ #yiisoftDocs
В документации добавили новое соглашение: в composer.json в качестве логического оператора ИЛИ в диапазонах версий должна использоваться одиночная вертикальная черта
В документации добавили новое соглашение: в composer.json в качестве логического оператора ИЛИ в диапазонах версий должна использоваться одиночная вертикальная черта
|
(PR).🎉4
⚡️ #yiisoftDocs
Во внтуренней документации добавили новое соглашение по логу изменений: теперь имена авторов будут указываться с
Во внтуренней документации добавили новое соглашение по логу изменений: теперь имена авторов будут указываться с
@
и, соответственно, на GitHub будут отображаться ссылками на профиль (PR).🔥 #Новости #yiisoftDemo #yiisoftDemoApi #yiisoftDocs #yiisoftPackageTemplate #yiisoftYiiDevTool
Часть пакетов была помечена как "внутренние" и теперь не учитывается на странице с текущим состоянием разработки пакетов Yii3.
Пакеты, к которым был добавлен тег
- Демо веб-приложения,
- Демо API-приложения,
- Документация,
- Yii Package Template,
- Yii Development Tool.
Часть пакетов была помечена как "внутренние" и теперь не учитывается на странице с текущим состоянием разработки пакетов Yii3.
Пакеты, к которым был добавлен тег
internal
:- Демо веб-приложения,
- Демо API-приложения,
- Документация,
- Yii Package Template,
- Yii Development Tool.
👍1
⚡️ #yiisoftDocs
В документации добавили соглашение о стиле кода для методов, вызываемых «цепочкой» (commit).
В документации добавили соглашение о стиле кода для методов, вызываемых «цепочкой» (commit).
🔥2
👍2
🔥1
🔥1
⚡️ #yiisoftDocs
В документации добавили соглашение об использовании верблюжьей (
В документации добавили соглашение об использовании верблюжьей (
camelCase
) нотации для имён классов, методов, переменных и т. д. (PR).👍3
⚡️ #yiisoftDocs
В документации из соглашения о поддерживаемых версиях PHP убрали строчку о том, что PHP 7.4 может не следовать им (PR).
Exception: PHP 7.4 MIGHT not be considered.
В документации из соглашения о поддерживаемых версиях PHP убрали строчку о том, что PHP 7.4 может не следовать им (PR).
👍5