如何使用匿名函数的PHPDoc参数?

时间:2017-10-20 02:04:58

标签: php phpdoc

例如,在我的Laravel代码中,我有:

$query = User::select('ID', 'Name')
    ->with(['agent' => function ($query) {
        $query->select('MemberID', 'dbPhoto');
    }])->get();

如果没有类型提示$ query,我的ide会发出一个未知方法select()的警告。

如果我不想输入提示$ query,因为它可能会接受不同类型(但不是在这种情况下),我该怎么做?

1 个答案:

答案 0 :(得分:0)

我认为类型提示是解决问题的最佳方法。

前一段时间我在phpDoc的github中看到了这个thread。 Bielive,我们仍然没有任何标准。

您还可以向IDE的类型分析器添加一些规则。或者尝试使用下面的丑陋黑客

$query = User::select('ID', 'Name')
    ->with(['agent' => function ($query) {
        /** @var \Ns\Query $query */
        $query->select('MemberID', 'dbPhoto');
    }])->get();

不知道它会在您的IDE中运行,但它可以在我的phpStorm中运行。