在 Laravel 的控制器函数中使用 ($request->get('sth') ) 而不是(设置一些


Is it good to use ( $request->get('sth') ) instead of ( setting some parameters ) in controller function in Laravel

可以使用吗

$id = $request->get('some_id');

而不是在 AND Routes AND 中设置一些参数Controller例如:

Route::get('some_page/{parameters}', 'controllerName@functionName');
function functionName($parameters)
{
    $id = $parameters;
}

升值

当然很好。当你使用GET时,两种方式是相似的,如果你出于某种原因喜欢使用$request->get(),那完全没问题。

如果您使用的是表单,这是唯一正确的方法。此外,您可以创建自定义 Request 类以将其用于验证和其他操作:

https://laravel.com/docs/master/validation#form-request-validation

他们有两个根本不同的目标。

使用 $request->get() 是一种从 php 的 REQUEST 对象内部检索值的方法,无论它与您使用的路由模式的关联如何。

遵循HTTP的标准,你可能会使用$_GET来读取一些值,而不会[显着]改变数据库,并且你使用$_POST将数据写入你的服务器。

虽然路由中的{pattern} ONLY 和 ONLY 应该用作应用程序查找某些资源的一种方式;换句话说,它的唯一目标是帮助您在服务器中路由某些内容。

然而,在某些情况下,例如/user/{id},{id} 的值可能会遇到一些重叠,无论是被视为路由参数还是 $_REQUEST 键。

诸如令牌,过滤器条件,排序规则,引用者(当不显着时)等内容可以直接从$_REQUEST读取,而不会干扰它们进入应用程序的路由模式。