Laravel 入门教程中,控制器内方法参数前对应哪个?

file
如图,代码中第一处的 User 对应的是 Eloquent 数据模型,但是 store 方法中, Request 该怎样理解?

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
最佳答案

Laravel 的依赖注入有一个规则,会先去找同名变量注入,如果有就会使用这个变量,比如你的路由是admin/users/{user}它就会把这个user解析成你控制器中的User $user,如果没有同名的变量,它才会new一个新的,


你可以把路由的变量名和控制器参数的变量名不一样,你就会发现你得到的是一个没有数据的模型。

6年前 评论
讨论数量: 5

Laravel 的依赖注入有一个规则,会先去找同名变量注入,如果有就会使用这个变量,比如你的路由是admin/users/{user}它就会把这个user解析成你控制器中的User $user,如果没有同名的变量,它才会new一个新的,


你可以把路由的变量名和控制器参数的变量名不一样,你就会发现你得到的是一个没有数据的模型。

6年前 评论

@DavidNineRoc 谢谢,User 理解的,主要是 Request ,并没有这个数据模型啊!

6年前 评论

@Yvan Request不是模型,你可以dd(get_class($request));就可以知道它是哪个类了?而且你对他有什么疑问?
我这句话,并不止针对模型,针对一切有类型提示的参数,前提是类
file

6年前 评论

@Yvan 是的,类型提示,这样子才能通过反射获取到这个参数相关信息

6年前 评论

@DavidNineRoc 理解了,真的非常感谢! 已关注你 :stuck_out_tongue_winking_eye:

6年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!