如何访问 Laravel 5 中的 blade 中的 URL 段?
How to access URL segment(s) in blade in Laravel 5?
我有一个 url : http://localhost:8888/projects/oop/2
我想访问第一段 --> projects
我试过了
<?php echo $segment1 = Request::segment(1); ?>
当我刷新页面时,我在视图中看不到任何打印出来的内容。
任何帮助/建议将不胜感激
试试这个
{{ Request::segment(1) }}
双花括号是通过 Blade 处理的——而不仅仅是普通的 PHP。此语法基本上与计算值相呼应。
{{ Request::segment(1) }}
下面是如何通过全局 request
辅助函数来实现这一点。
{{ request()->segment(1) }}
注: request()
returns Request
class.
的对象
基于LARAVEL 5.7及以上
获取当前URL的所有段:
$current_uri = request()->segments();
从 http://example.com/users/posts/latest/
获取段 posts
注意: 段是一个从索引 0 开始的数组。数组的第一个元素在 url 的 TLD 部分之后开始。所以在上面的 url 中,segment(0) 将是 users
而 segment(1) 将是 posts
.
//get segment 0
$segment_users = request()->segment(0); //returns 'users'
//get segment 1
$segment_posts = request()->segment(1); //returns 'posts'
您可能已经注意到分段方法仅适用于当前的 URL ( url()->current()
)。所以我通过克隆 segment()
方法设计了一种方法来使用以前的 URL:
public function index()
{
$prev_uri_segments = $this->prev_segments(url()->previous());
}
/**
* Get all of the segments for the previous uri.
*
* @return array
*/
public function prev_segments($uri)
{
$segments = explode('/', str_replace(''.url('').'', '', $uri));
return array_values(array_filter($segments, function ($value) {
return $value !== '';
}));
}
这是您可以获得 url 段的代码。
{{ Request::segment(1) }}
如果您不想转义数据,请使用 {!! !!} 否则使用 {{ }}。
{!! Request::segment(1) !!}
获取第一段或最后一段的简单方法,以防您不确定路径长度。
$segments = request()->segments();
$last = end($segments);
$first = reset($segments);
我有一个 url : http://localhost:8888/projects/oop/2
我想访问第一段 --> projects
我试过了
<?php echo $segment1 = Request::segment(1); ?>
当我刷新页面时,我在视图中看不到任何打印出来的内容。
任何帮助/建议将不胜感激
试试这个
{{ Request::segment(1) }}
双花括号是通过 Blade 处理的——而不仅仅是普通的 PHP。此语法基本上与计算值相呼应。
{{ Request::segment(1) }}
下面是如何通过全局 request
辅助函数来实现这一点。
{{ request()->segment(1) }}
注: request()
returns Request
class.
基于LARAVEL 5.7及以上
获取当前URL的所有段:
$current_uri = request()->segments();
从 http://example.com/users/posts/latest/
获取段posts
注意: 段是一个从索引 0 开始的数组。数组的第一个元素在 url 的 TLD 部分之后开始。所以在上面的 url 中,segment(0) 将是 users
而 segment(1) 将是 posts
.
//get segment 0
$segment_users = request()->segment(0); //returns 'users'
//get segment 1
$segment_posts = request()->segment(1); //returns 'posts'
您可能已经注意到分段方法仅适用于当前的 URL ( url()->current()
)。所以我通过克隆 segment()
方法设计了一种方法来使用以前的 URL:
public function index()
{
$prev_uri_segments = $this->prev_segments(url()->previous());
}
/**
* Get all of the segments for the previous uri.
*
* @return array
*/
public function prev_segments($uri)
{
$segments = explode('/', str_replace(''.url('').'', '', $uri));
return array_values(array_filter($segments, function ($value) {
return $value !== '';
}));
}
这是您可以获得 url 段的代码。
{{ Request::segment(1) }}
如果您不想转义数据,请使用 {!! !!} 否则使用 {{ }}。
{!! Request::segment(1) !!}
获取第一段或最后一段的简单方法,以防您不确定路径长度。
$segments = request()->segments();
$last = end($segments);
$first = reset($segments);