1. Laravel框架url()全局函数介绍
若要生成 URL,则可以使用 Laravel 框架提供的全局辅助函数 url。url 函数接收 URI 作为参数,生成含有相对路径的完整 URL。在开发过程中,url 函数可用于包括链接和重定向等操作。
例如,要生成到应用程序路由的 URL,可以将简单的 URI 传递给 url 函数:
$url = url('some/route');
这将生成相对于应用程序根目录的 URL。如果应用程序安装在子目录中,生成的 URL 将相应包括该子目录。
2. url()全局函数返回前一步
如果想要在 Laravel 根据一些条件判断后返回前一个页面上,可以使用全局函数 redirect() 来实现,该函数可以将请求重定向到指定的 URL 或动作。
在使用中,调用 back() 方法将请求重定向到其之前所在的位置,例如:
$url = back();
或者直接使用 URL 或命名路由名称来创建重定向:
return redirect('dashboard');
return redirect()->route('dashboard');
3. 实例
下面给出一个使用实例,例如在某个表单提交后进行数据处理,处理成功后返回该表单的上一页:
public function store(Request $request)
{
// 将数据插入数据库
$data = $request->all();
$result = SomeModel::create($data);
// 处理数据成功后跳转回上个页面
if($result) {
return back()->with('success', '数据处理成功!');
} else {
return back()->with('error', '数据处理失败!');
}
}
上述代码中,可以看到为了前往上一页时,使用了全局函数 back() 来实现,若返回前上一页数据处理成功,则返回的页面将会带有一个名为 success 的 session 数据;如果数据处理失败,则返回的页面将会带有一个名为 error 的 session 数据。