我正在接管之前编写的 Laravel 应用程序,并尝试了解各种事物如何组合在一起。在这样做的过程中,我发现了以下代码:class MyController extends Controller{ public function index(Request $request) { if ($request->popular) { //.... } //... }我不太确定 if 语句试图访问什么。当我将鼠标悬停在该$request→popular部分上时,它表示popular正在通过魔术方法访问该属性。我也无法在代码中的其他任何地方找到任何名为“popular”的属性/方法。有谁知道这可能想做什么?我知道该属性popular不是对象的内部属性Request,因为在代码的后面,程序员还使用这种魔术方法格式访问各种其他属性。它是某种访问 URI 的简写方式吗?(例如,也许/api/popular)
1 回答
摇曳的蔷薇
TA贡献1793条经验 获得超6个赞
是Input Via Dynamic Properties
。它还开着Illuminate\Http\Request
。
例如,如果您的应用程序表单之一包含一个name
字段,您可以像这样访问该字段的值:
$name = $request->name;
和这个是一样的:
$name = $request->input('name');
当使用动态属性时,Laravel 将首先在请求负载中查找参数的值。如果不存在,Laravel 将在路由参数中搜索该字段(例如:查询字符串)。
在你的例子中,它可能是这样的:
/api/posts?popular=1
如果您想知道这是如何做到的,请使用神奇的 PHP__get()
方法。
- 1 回答
- 0 关注
- 113 浏览
添加回答
举报
0/150
提交
取消