我正在爲每個視圖自動獲取資產(.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」並使用此值來加載特定於此頁面的資產。 再次感謝並對不起。 –