我正在使用phpdoc @method标记记录我的Zend Framework视图助手和控制器插件,以便在我的IDE(PHPStorm)中获得更好的代码帮助。查看助手和控制器插件通过__invoke()魔术方法调用。
例如,我有一个DateTime视图助手:
class DateTime extends AbstractHelper
{
public function __invoke($dateTimeString, $date = true, $time = true, $seconds = false)
{
// ...
}
}
记录如下:
/**
* @method string dateTime($dateTimeString, $date = true, $time = true, $seconds = false)
*/
class PhpRenderer extends \Zend\View\Renderer\PhpRenderer
{
}
有没有办法别名或引用__invoke函数,而不是重复@method标记中的函数签名?因此,我不必将@method标记与__invoke()方法参数保持同步,IDE可以将调用直接链接到魔术方法。
这样的事情会很好:
/**
* @method dateTime \MyLib\View\Helper\DateTime::__invoke
*/
如果@method也可以引用另一个(魔术)方法,PHP框架可以更好地记录它们的魔力(__invoke,__ call等),IDE可以直接链接到实现。或者也许应该使用另一个标签名称,例如@alias,@ call,@ invoke。