Для взаимодействия с данными маршрутов во фреймворке HLEB2 предназначен сервис Router.
Способы использования Router в контроллерах (и всех классах, унаследованных от Hleb\Base\Container) на примере формирования относительного URL по названию маршрута:
Пример обращения к Router в коде приложения:
Также объект Router может быть получен через внедрение зависимостей по интерфейсу Hleb\Reference\Interface\Router.
Для упрощения примеров, далее они будут содержать только обращение через Hleb\Static\Router.
Метод url() предназначен для преобразования названия маршрута в относительный адрес URL. Простой пример:
Так как в адресе маршрута могут быть динамические параметры и не обязательная последняя часть, то при их наличии нужно указать это в дополнительных аргументах.
Метод address() аналогичен методу url(), только возвращает полный URL адрес с HTTP-схемой и доменным именем из текущего запроса. Так как домен присваивается только текущий, для другого домена используйте конкатенацию с Route::url().
Возвращаемый адрес для указанных методов будет содержать конечный слеш или не содержать в зависимости от соответствующих настроек фреймворка.
Встроенные функции фреймворка url() и address() представляют собой сокращённое написание вызова одноимённых методов Router.
При помощи метода name() можно узнать название текущего маршрута, если оно ему назначено.
Метод data() возвращает данные для текущего middleware, если они были установлены в маршруте, он может быть использован только в middleware.
← Redirect Settings →