📅  最后修改于: 2023-12-03 15:37:42.646000             🧑  作者: Mango
在控制器中经常需要获取某个操作的 URL,例如生成表单的提交地址、重定向地址等。在 Laravel 中,可以使用路由名称或控制器动作来快速获取 URL。
在定义路由时,可以设置路由名称:
Route::get('users/{id}', 'UserController@show')->name('user.show');
然后在控制器中可以使用 route
函数来获取对应的 URL:
$url = route('user.show', ['id' => 1]);
这里的 'user.show'
就是路由名称,['id' => 1]
则是路由参数。
如果没有设置路由名称,也可以使用控制器动作来获取 URL:
$url = action('UserController@show', ['id' => 1]);
这里的 'UserController@show'
就是控制器动作,['id' => 1]
则是方法参数。
获取当前操作的 URL:
$url = url()->current();
获取前一个请求的 URL:
$url = url()->previous();
生成表单的提交地址:
$url = action('UserController@store');
生成静态资源的 URL:
$url = asset('css/app.css');
以上就是在控制器中获取操作的 URL 的常见方法。掌握这些技巧将使开发更为高效。