📜  在控制器中获取操作的 url (1)

📅  最后修改于: 2023-12-03 15:37:42.646000             🧑  作者: Mango

在控制器中获取操作的 URL

在控制器中经常需要获取某个操作的 URL,例如生成表单的提交地址、重定向地址等。在 Laravel 中,可以使用路由名称或控制器动作来快速获取 URL。

使用路由名称获取 URL

在定义路由时,可以设置路由名称:

Route::get('users/{id}', 'UserController@show')->name('user.show');

然后在控制器中可以使用 route 函数来获取对应的 URL:

$url = route('user.show', ['id' => 1]);

这里的 'user.show' 就是路由名称,['id' => 1] 则是路由参数。

使用控制器动作获取 URL

如果没有设置路由名称,也可以使用控制器动作来获取 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 的常见方法。掌握这些技巧将使开发更为高效。