⚡️ #yiisoftRouter
В пакете Yii Router у роутов добавлен магический метод
В пакете Yii Router у роутов добавлен магический метод
Route::__debugInfo()
для вывода отладочной информации (PR).⚡️ #yiisoftDemo
В демо веб-приложения улучшена конфигурация scrutinizer (PR): версия PHP изменена на 8.0.11 + мелкие правки.
В демо веб-приложения улучшена конфигурация scrutinizer (PR): версия PHP изменена на 8.0.11 + мелкие правки.
⚡️ #yiisoftRouter #yiisoftRouterFastroute #yiisoftApp #yiisoftDemo
В пакете Yii Router для хранения информации о текущем роуте добавлен интерфейс
Теперь в приложениях вместо класса
Необходимые изменения внесены в пакеты и приложения:
- Yii Router FastRoute Adapter (PR),
- Шаблон веб-приложения (PR),
- Демо веб-приложения (PR).
В пакете Yii Router для хранения информации о текущем роуте добавлен интерфейс
CurrentRouteInterface
, содержащий только геттеры (PR).Теперь в приложениях вместо класса
CurrentRoute
нужно использовать новый интерфейс CurrentRouteInterface
.Необходимые изменения внесены в пакеты и приложения:
- Yii Router FastRoute Adapter (PR),
- Шаблон веб-приложения (PR),
- Демо веб-приложения (PR).
#yiisoftI18n #МинорныйРелиз #Релиз
🎁 Yii Internationalization Library 1.1.0
Добавлена поддержка ключевых слов
🎁 Yii Internationalization Library 1.1.0
Добавлена поддержка ключевых слов
hours
, colnumeric
и colcasefirst
(PR), которые являются частью ECMAScript 2022 Internationalization API Specification (ECMA-402 9th Edition), и их поддержка позволяет улучшить связь между PHP и JavaScript.hours
задаёт часовой цикл для локали (например, h11
, h12
, h23
, h24
). Подробности в документации: key/type definition for the Unicode Hour Cycle Identifier.colnumeric
и colcasefirst
являются частью Unicode Locale Data Markup Language.⚡️ #yiisoftDemo
В демо веб-приложения экшн
В демо веб-приложения экшн
ApiInfo
перемещён в пространство имён App\Controller\Actions
(PR).⚡️ #yiisoftI18n
Немного причесали Yii Internationalization Library (PR): добавили тестов, улучшили readme, конфигурации GitHub Actions, doc-блоки и прочие мелкие улучшения.
Немного причесали Yii Internationalization Library (PR): добавили тестов, улучшили readme, конфигурации GitHub Actions, doc-блоки и прочие мелкие улучшения.
✨ #yiisoftCacheRedis
Добавили новый пакет Yii Cache Redis Handler — обработчик кэша для Yii Caching Library на основе Redis.
Добавили новый пакет Yii Cache Redis Handler — обработчик кэша для Yii Caching Library на основе Redis.
#yiisoftCacheRedis #ПервыйРелиз #МажорныйРелиз #Релиз
🎁 Yii Cache Redis Handler 1.0.0
Первый релиз PSR-16 обработчика кэша для Yii Caching Library на основе Redis.
Реализация основана на redis-клиенте Predis и может использовать как реализация PSR-16 кэша самостоятельно или с Yii Caching Library.
🎁 Yii Cache Redis Handler 1.0.0
Первый релиз PSR-16 обработчика кэша для Yii Caching Library на основе Redis.
Реализация основана на redis-клиенте Predis и может использовать как реализация PSR-16 кэша самостоятельно или с Yii Caching Library.
#yiisoftMiddlewareDispatcher #ПервыйРелиз #МажорныйРелиз #Релиз
🎁 Yii Middleware Dispatcher 1.0.0
Реализация PSR-15 диспетчера мидлварей. Используя объект запроса диспетчер выполняет заданный набор мидлварей и создаёт экземпляр объекта ответа.
Пример:
🎁 Yii Middleware Dispatcher 1.0.0
Реализация PSR-15 диспетчера мидлварей. Используя объект запроса диспетчер выполняет заданный набор мидлварей и создаёт экземпляр объекта ответа.
Пример:
use Yiisoft\Middleware\Dispatcher\MiddlewareDispatcher;
use Yiisoft\Middleware\Dispatcher\MiddlewareFactory;
$dispatcher = new MiddlewareDispatcher(
new MiddlewareFactory($diContainer),
$eventDispatcher
)->withMiddlewares([
static function (): ResponseInterface {
return new Response(418);
},
]);
$request = new ServerRequest('GET', '/teapot');
$response = $dispatcher->dispatch($request, $this->getRequestHandler());
⚡️ #yiisoftApp #yiisoftAppApi #yiisoftDemo #yiisoftDemoApi
Основной набор мидлварей в приложениях вынесен в параметры:
Шаблон веб-приложения (PR),
Шаблон API-приложения (PR),
Демо веб-приложения (PR),
Демо API-приложения (PR).
Основной набор мидлварей в приложениях вынесен в параметры:
Шаблон веб-приложения (PR),
Шаблон API-приложения (PR),
Демо веб-приложения (PR),
Демо API-приложения (PR).
⚡️ #yiisoftCache
Немного подчистили Yii Caching Library (PR): улучшили readme, конфигурации GitHub Actions, doc-блоки и прочие мелкие улучшения.
Немного подчистили Yii Caching Library (PR): улучшили readme, конфигурации GitHub Actions, doc-блоки и прочие мелкие улучшения.
⚡️ #yiisoftYiiDevTool
Убрали добавление лишней пустой строки при подготовке changelog в Yii Development Tool (PR).
Убрали добавление лишней пустой строки при подготовке changelog в Yii Development Tool (PR).
⚡️ #yiisoftYiiCycle
В Yii Cycle ORM добавлена поддержка пакета
В Yii Cycle ORM добавлена поддержка пакета
cycle/schema-renderer
для генерации схемы (PR).#yiisoftYiiWeb #yiisoftHttp #МинорныйРелиз #yiisoftErrorHandler #МажорныйРелиз #Релиз
🎁 Yii HTTP 1.2.0
🎁 Yii Error Handler 2.0.0
Хелперы для работы преобразования строки с заголовками в более удобные для работы массивы перенесены из пакетов Yii Web (PR) и Yii Error Handler (PR) в пакет Yii HTTP (PR).
Примеры использования:
Соответствующие изменения внесены в пакеты и приложения:
Шаблон веб-приложения (PR),
Шаблон API-приложения (PR),
Демо веб-приложения (PR),
Демо API-приложения (PR),
Yii Auth (PR),
Yii Request Body Parser (PR),
Yii Data Response (PR),
Yii CSRF Protection Library (PR),
Yii Rate Limiter Middleware (PR),
Yii Cookies (PR),
Yii Web Runner (PR).
🎁 Yii HTTP 1.2.0
🎁 Yii Error Handler 2.0.0
Хелперы для работы преобразования строки с заголовками в более удобные для работы массивы перенесены из пакетов Yii Web (PR) и Yii Error Handler (PR) в пакет Yii HTTP (PR).
Примеры использования:
use Yiisoft\Http\HeaderValueHelper;#yiisoftApp #yiisoftAppApi #yiisoftDemo #yiisoftDemoApi #yiisoftAuth #yiisoftRequestBodyParser #yiisoftDataResponse #yiisoftCsrf #yiisoftRateLimiter #yiisoftCookies #yiisoftYiiRunnerWeb
// Result: ['a' => '1', 'b' => '2']
HeaderValueHelper::getParameters('a=1;b=2');
// Result: ['value', 'a' => '1', 'b' => '2']
HeaderValueHelper::getValueAndParameters('value;a=1;b=2'));
// Result: [['value2', 'q' => 1.0], ['value1', 'q' => 0.2]]
HeaderValueHelper::getSortedValueAndParameters('value1;q=0.2,value2'));
// Result: ['text/xml', 'text/html']
HeaderValueHelper::getSortedAcceptTypes('text/html;q=0.2,text/xml;q=0.4'));
⚡️
Соответствующие изменения внесены в пакеты и приложения:
Шаблон веб-приложения (PR),
Шаблон API-приложения (PR),
Демо веб-приложения (PR),
Демо API-приложения (PR),
Yii Auth (PR),
Yii Request Body Parser (PR),
Yii Data Response (PR),
Yii CSRF Protection Library (PR),
Yii Rate Limiter Middleware (PR),
Yii Cookies (PR),
Yii Web Runner (PR).
⚡️ #yiisoftYiiRunnerWeb #yiisoftYiiRunnerRoadrunner
В раннерах Yii Web Runner (PR) и Yii RoadRunner Runner (PR) добавлена возможность задать свой обработчик ошибок с помощью методов
В раннерах Yii Web Runner (PR) и Yii RoadRunner Runner (PR) добавлена возможность задать свой обработчик ошибок с помощью методов
WebApplicationRunner::withTemporaryErrorHandler()
и RoadRunnerApplicationRunner::withTemporaryErrorHandler()
соответственно.⚡️ #yiisoftConfig
Несколько улучшений в Yii Config (PR).
——————
• В модификаторе
Удалить элементы
• Добавлен новый модификатор
Удалить группу
Несколько улучшений в Yii Config (PR).
——————
• В модификаторе
RemoveFromVendor::keys()
добавлена возможность указать пакет(ы) и группы, на которые будет распространяться этот модификатор.Удалить элементы
a
и b
из всех групп в пакете yiisoft/auth
:RemoveFromVendor::keys(['a'], ['b'])Удалить элементы
->package('yiisoft/auth'),
c
и d
из групп params
и web
в пакете yiisoft/yii-web
:RemoveFromVendor::keys(['c'], ['d'])Удалить элементы
->package('yiisoft/yii-web', 'params', 'web'),
e
и f
из всех групп в пакете yiisoft/auth
и из групп params
и web
в пакете yiisoft/yii-web
:RemoveFromVendor::keys(['e'], ['f'])——————
->package('yiisoft/auth')
->package('yiisoft/yii-web', 'params', 'web'),
• Добавлен новый модификатор
RemoveFromVendor::groups()
, позволяющий исключить из конфигурации группы и пакеты.Удалить группу
params
из всех пакетов:RemoveFromVendor::groups([Удалить группы
'*' => 'params',
]),
common
и web
из всех пакетов:RemoveFromVendor::groups([Удалить все группы из пакета
'*' => ['common', 'web'],
]),
yiisoft/auth
:RemoveFromVendor::groups([Удалить группу
'yiisoft/auth' => '*',
]),
params
из пакета yiisoft/http
:RemoveFromVendor::groups([Удалить группы
'yiisoft/http' => 'params',
]),
params
и common
из пакета yii-web
:RemoveFromVendor::groups([
'yiisoft/yii-web' => ['params', 'common'],
]),
#yiisoftMiddlewareDispatcher #МажорныйРелиз #Релиз
🎁 Yii Middleware Dispatcher 2.0.0
Изменён порядок выполнения мидлварей, задаваемых с помощью метода
⚡️ #yiisoftApp #yiisoftAppApi #yiisoftDemo #yiisoftDemoApi #yiisoftRouter
Соответствующие изменения внесены в приложения и пакеты:
Шаблон веб-приложения (PR),
Шаблон API-приложения (PR),
Демо веб-приложения (PR),
Демо API-приложения (PR),
Yii Router (PR).
🎁 Yii Middleware Dispatcher 2.0.0
Изменён порядок выполнения мидлварей, задаваемых с помощью метода
MiddlewareDispatcher::withMiddlewares()
: теперь мидлвари выполняются от первой к последней и обратно (PR).⚡️ #yiisoftApp #yiisoftAppApi #yiisoftDemo #yiisoftDemoApi #yiisoftRouter
Соответствующие изменения внесены в приложения и пакеты:
Шаблон веб-приложения (PR),
Шаблон API-приложения (PR),
Демо веб-приложения (PR),
Демо API-приложения (PR),
Yii Router (PR).
⚡️ #yiisoftForm
Улучшения в пакете Yii Form:
- добавили интерфейс коллекции ошибок
- для атрибута ID в элементах форм разрешено значение
- доработан виджет
- доработан виджет
- доработан виджет
Улучшения в пакете Yii Form:
- добавили интерфейс коллекции ошибок
FormErrorsInterface
и его реализацию FormErrors
, куда вынесли информацию об ошибках валидации (PR);- для атрибута ID в элементах форм разрешено значение
null
(PR);- доработан виджет
Hint
и добавлена подробная документация для него (PR);- доработан виджет
Label
и добавлена подробная документация для него (PR);- доработан виджет
Error
(PR).⚡️ #yiisoftView
Несколько улучшений в пакете Yii View (PR):
- добавлена простая реализация интерфейса
- добавлены методы
Последнее изменение позволит более удобно использовать
Несколько улучшений в пакете Yii View (PR):
- добавлена простая реализация интерфейса
ViewContextInterface
— класс ViewContext
, который принимает в конструкторе путь к контексту;- добавлены методы
View::withContextPath()
и WebView::withContextPath()
позволяющие задать контекст в виде пути к папке с представлениями.Последнее изменение позволит более удобно использовать
View
в виджетах:final class SidebarMenu extends Widget
{
public function __construct(
private View $view
) {
$this->view = $this->view->withContextPath(__DIR__);
}
protected function run(): string
{
return $this->view->render('menu');
}
}