为什么 PHPStorm 中的 PHPDoc 在此代码上出错?
Why does PHPDoc error in PHPStorm over this code?
在下面的代码中,@return 带有红色下划线。我期待一个接口被 returned 因为这是所有不同的供应商适配器实现的。
/**
* 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);
}
我已经尝试执行 /** 文档块并让 PHPStorm 输入它认为是 return 的值,它一直给我
@return mixed
您的问题是构造函数中的 return
。
构造函数不采用 return 值,它们在实例化 class 的实例时执行。
在下面的代码中,@return 带有红色下划线。我期待一个接口被 returned 因为这是所有不同的供应商适配器实现的。
/**
* 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);
}
我已经尝试执行 /** 文档块并让 PHPStorm 输入它认为是 return 的值,它一直给我
@return mixed
您的问题是构造函数中的 return
。
构造函数不采用 return 值,它们在实例化 class 的实例时执行。