如何在Laravel 5.2控制器中访问URL段?

6

我正在使用Laravel 5.2,并希望在我的控制器中访问URL段。我正在使用

echo  Request::segment(2);

但是什么都没有被打印。我怎样在控制器中从url获取值。

@Chillon 没有收到任何错误。 - steven
你需要使用 Illuminate\Http\Request 门面。如果你在使用其他的。 - Ali
阿里意味着使用Request。 - Chilion
@Ali 我已经在我的控制器中使用了 Request。如果我不使用它,就会出错。 - steven
如果你正在使用方法注入(从上面的评论看起来是这样),那么尝试在方法内部使用$request->segment(2) - Jeemusu
显示剩余5条评论
2个回答

15

在 Laravel 5.2 中,你可以这样做...

echo request()->segment(2);

request() 是 Laravel 5.2 提供的几个辅助函数之一,它返回当前请求对象,因此您无需在类顶部使用门面的 use 语句。


这不是一个答案,只是一种他现在所做的方式的替代方案。两种方法都是完全可接受的。 - Chilion
2
我正在使用 Laravel 5.1,在控制器中使用 $request->segment(3) 获取 URL 数据。 - Mr.Happy

2
在 Laravel 7 中,我使用以下代码获取片段:
public function my_function(Request $request )
{
    // By using this, we can get the second segment in route
    // Example: example.com/hh/kk
    
    $segment = $request->segment(2);

    // By using this we will get "kk"
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接