dtwd74916 2016-10-18 13:12
浏览 45
已采纳

为什么PHPStorm中的PHPDoc错误超过此代码?

In the following code the @return is underlined red. I have it expecting an interface to be returned because that is what all of the different Vendor adapters implement.

 /**
 * VendorFactory constructor.
 * @param Model $model
 * @return \Traders\Interfaces\VendorAdapterInterface
 */
public function __construct(Model $model)
{
    return $this->createAdapter($model);
}

This is the code for the createAdapter which does not have the @return underlined in red.

/**
 * @param Model $model
 * @return \Traders\Interfaces\VendorAdapterInterface
 */
public function createAdapter(Model $model)
{
    $type = str_replace('App\Models\\', '', get_class($model)).'s';
    $fqcn = '\Traders\Adapters\\'.$type.'\\'.ucfirst(strtolower($model->name));
    return new $fqcn($model);
}

I have tried doing the /** docblock and letting PHPStorm enter what it believes is the return value and it just keeps giving me

@return mixed
  • 写回答

1条回答 默认 最新

  • dongluyi5123 2016-10-18 13:26
    关注

    Your problem is the return in the constructor. Constructors do not take return values, they get executed when an instance of that class is instantiated.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?