gpt4 book ai didi

php - Laravel 5.1 - 获取当前路线

转载 作者:行者123 更新时间:2023-12-04 14:42:16 29 4
gpt4 key购买 nike

我正在开发一个函数来为每个 View 自动获取 Assets (.css、.js)。所以它可以正常工作,比如“http://mywebsite.com/displayitems”、/home、/about 等。

但是由于我使用 $_SERVER['REQUEST_URI'] 编写了该函数,当我有一个像/displayitems/1这样的路由时,我想出了一个问题。因为路由中的“/1”。

当时在 Laravel 4.x 中我有一个很好的方法来做到这一点,但遗憾的是它在 Laravel 5.4 中的工作方式不同。

我一直在通过互联网搜索获取当前路线的好方法,但没有成功。问题是我必须忽略请求 URL 中的任何参数。

如果有人有线索,或者我做错了,有一种完全不同的更好的方法来做到这一点?

P.S我目前的功能:

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...
}

最佳答案

你可以试试这个:

// Add the following (`use Illuminate\Http\Request`) statement at top your the class

public static function getAllRouteAssets(Request $request)
{
// Get the current route
$currentRoute = $request->route();
}

更新(从 IoC/Service 容器获取 Request 实例并调用 route() 以获取当前路由):
app('request')->route(); // Current route has been retrieved

如果您想将当前路由作为参数传递给您的 getAllRouteAssets方法然后你必须改变 typehint或通过 Request并调用 route来自 getAllRouteAssets 中的方法方法。

关于php - Laravel 5.1 - 获取当前路线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31500988/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com