在下面的代码中,@return加下划线为红色。我希望它能够返回一个接口,因为这是所有不同的供应商适配器实现的。为什么PHP代码中的PHPDoc错误通过此代码?
/**
* VendorFactory constructor.
* @param Model $model
* @return \Traders\Interfaces\VendorAdapterInterface
*/
public function __construct(Model $model)
{
return $this->createAdapter($model);
}
这是createAdapter的代码,它没有带红色下划线的@return。
/**
* @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);
}
我试图做/ **的docblock,让PHPStorm输入什么它认为是返回值,它只是不断给我
@return mixed
因为'$ fqcn'是一个变量,在这种情况下。你实际上并没有给它一个具体的课程。忽略风暴并保持原样或创建工厂。 – Andrew
在构造函数中等待..'return'? – Pete
感谢Pete,这不应该是构造函数而是初始化方法。 –