Я работаю над функцией получения активов (.css, .js) автоматически для каждого вида. Так что это прекрасно работает, скажем, «http://mywebsite.com/displayitems»,/дома,/о и т.д.Laravel 5.1 - получить текущий маршрут
Но так как я написал функцию, используя $_SERVER['REQUEST_URI']
, я подошел с вопросом, когда у меня был маршрут как /displayitems/1
из-за «/ 1 "на маршруте.
В то время в Laravel 4.x У меня был отличный способ сделать это, но, к сожалению, в Laravel 5.4 не работает одинаково.
Я искал в Интернете хороший способ получить текущий маршрут, но не успел. Дело в том, что я должен игнорировать любые параметры в URL-адресе запроса.
Если у кого есть ключ, или, может быть, я делаю это неправильно, и есть совершенно другой, лучший способ сделать это?
PS Моя текущая функция:
public static function getAllRouteAssets() {
$route = $_SERVER['REQUEST_URI'];
if($route == "/") {
$tag = '<link href="' . asset("assets/css/pages/home.css") . '" rel="stylesheet" type="text/css"/>';
}
else {
// CSS
$tag = '<link href="' . asset("assets/css/pages" . $route . ".css") . '" rel="stylesheet" type="text/css"/>';
}
echo $tag;
//TODO: Check if file exists, homepage condition, js...
}
Эй. Большое спасибо. Я использую эту функцию в своем основном файле макета для загрузки активов в HTML-тег заголовка.Как я могу получить текущий запрос в этом файле .blade.php (передать как параметр в '\ App \ Helper \ getAllRouteAssets();'? Еще раз спасибо! –
Проверьте обновленный @Ariel :-) –
Прошу прощения чтобы раздражать вас снова с таким количеством вопросов. Как только у меня есть объект запроса, я хочу получить staticPrefix экземпляра запроса. Путем var_dumping экземпляра я понял, что staticPrefix является приватным, он является частью «скомпилированного», который защищен. Как я могу получить к нему доступ, так как он защищен? Что я хотел сделать, допустим, если у меня есть маршрут типа «website.com/displayitem/21333», таким образом я могу получить «/ displayitem» и использовать это значение для загрузки активов, специфичных для этой страницы. Спасибо и еще раз. –