【问题标题】:How to PHPDoc arguments of anonymous functions?如何 PHPDoc 匿名函数的参数?
【发布时间】:2017-10-20 02:04:58
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: php phpdoc


    【解决方案1】:

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

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

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

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

    不知道它在你的 IDE 中是否有效,但它在我的 phpStorm 中有效。

    【讨论】:

    • 是的。我之前尝试过,它确实有效,但它对我来说很难看......我可能会尝试输入提示......
    猜你喜欢
    • 2016-04-04
    • 1970-01-01
    • 2021-02-19
    • 2011-03-02
    • 1970-01-01
    • 2017-04-20
    • 2019-02-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多