Laravel $request->name 和 request('name') 有什么区别
Laravel what a diffrent betwenn $request->name and request('name')
我对 Request 有疑问,什么最好用?
$request->name
或
request('name')
有什么不同?
$request
被称为依赖注入。 request()
是 Illuminate\Http\Request
请求 class 的辅助函数。就像 Auth::user()
和 auth()->user()
(并非所有 类 都有辅助函数)。
没有最佳用途,因为它们具有相同的功能,用于处理来自客户端的请求。另一方面,您可以注入自定义表单请求 class 来封装验证过程,以防客户端提交表单。
像这样
public function store(StoreRequest $request) {
// Will process the request and return array. It will redirects to previous link if error happens
$validated = $request->validated();
}
如果您使用专用请求 class 来验证您的输入,您可能需要使用注入的 $request 变量,否则您可以同时使用它们。
您可以在项目的任何地方使用请求助手,但是对于请求变量,您必须将其注入到您的函数中。
您最好使用请求变量来保持一致性,因为您很可能需要验证并且必须使用请求变量。
我对 Request 有疑问,什么最好用?
$request->name
或
request('name')
有什么不同?
$request
被称为依赖注入。 request()
是 Illuminate\Http\Request
请求 class 的辅助函数。就像 Auth::user()
和 auth()->user()
(并非所有 类 都有辅助函数)。
没有最佳用途,因为它们具有相同的功能,用于处理来自客户端的请求。另一方面,您可以注入自定义表单请求 class 来封装验证过程,以防客户端提交表单。
像这样
public function store(StoreRequest $request) {
// Will process the request and return array. It will redirects to previous link if error happens
$validated = $request->validated();
}
如果您使用专用请求 class 来验证您的输入,您可能需要使用注入的 $request 变量,否则您可以同时使用它们。
您可以在项目的任何地方使用请求助手,但是对于请求变量,您必须将其注入到您的函数中。
您最好使用请求变量来保持一致性,因为您很可能需要验证并且必须使用请求变量。