如何使用PhpDocumentor引用魔术方法?

时间:2013-11-25 10:10:10

标签: php zend-framework phpstorm phpdoc

我正在使用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。

0 个答案:

没有答案