为了账号安全,请及时绑定邮箱和手机立即绑定

通过魔术方法 Illuminate\Http\Request 对象 Laravel 访问属性

通过魔术方法 Illuminate\Http\Request 对象 Laravel 访问属性

PHP
哔哔one 2023-10-15 15:41:11
我正在接管之前编写的 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()方法。

查看完整回答
反对 回复 2023-10-15
  • 1 回答
  • 0 关注
  • 113 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信