我正在使用eclipse来构建我的php应用程序和Source>生成元素注释功能,用于自动创建文档块
我对这种格式有点疑惑,因为返回类型设置为完全限定的类名,但参数不是。
这是IDE的错误还是常见惯例?
以下是一个例子:
/**
* Executes the given service.
*
* @param string $serviceClass
* @param ParametersInterface $inputParams
*
* @return \ZF\Hal\Entity
*/
我有以下用途:
namespace MyApp;
use ZF\Hal\Entity;
use Zend\Stdlib\ParametersInterface;
答案 0 :(得分:0)
如果您在文件顶部有use ParametersInterface;
个路径,可能会发生这种情况,因此PHP文档将其考虑在内,但您没有use ZF\Hal\Entity
,所以它& #39;以完整路径插入@return。
在PHPStorm中,它的工作方式与此类似,因此可能在Eclipse中它的工作方式相同
答案 1 :(得分:0)
这很可能只是Eclipse中的行为奇怪,其中参数的自动识别代码可能不是自动识别返回的相同代码。我敢打赌,参数识别更天真,因为它可能特别关闭你的方法签名。所以,如果你的方法签名是
public function executeService(string $serviceClass, ParametersInterface $inputParams)
然后自动文档可能只是代码中的ParametersInterface
。
但是,如果你以这种方式编写代码
public function executeService(string $serviceClass, Zend\Stdlib\ParametersInterface $inputParams)
然后我敢打赌,自动文档会显示完全命名空间的名称。
将它报告给Eclipse(如果尚未报告)也没有坏处。