在PhpStorm中自动完成ZF2视图助手

时间:2013-02-28 15:01:22

标签: php zend-framework2 phpstorm zend-view

有没有人知道PHPStorm是否对视图帮助程序自动完成有内置支持,或者是否有可能为其编写插件。 我不想为此使用内联var定义,因为如果我使用大量的视图助手,这将是很麻烦的

$this->inlineScript()-> //I want some autocomplete here.

$this->translate('some translation')-> //Please give me autocompletion

如果我使用var定义,它最终会像这样,但它会让我的观点变得混乱:

/* @var $inlineScript \Zend\View\Helper\InlineScript */
$inlineScript = $this->inlineScript();
$inlineScript-> //Now I have autocompletion goodness

/* @var $translate \Zend\I18n\View\Helper\Translate */
$translate = $this->translate();
$translate('some translation')-> //Now I have autocompletion goodness

1 个答案:

答案 0 :(得分:12)

注意我将在评论中讨论的方法发布为答案。

要键入不存在的方法,语法如下:

/**
 * @method \Zend\Mvc\Controller\Plugin\Url url(string $route = null, array $params = null)
 */
class MyClass
{
}

这允许我们对任何被识别为url的变量使用方法MyClass的类型提示:

/* @var $a \MyClass */
$a->// typehint!

您需要这样一个“假”类,然后使用以下命令启动视图脚本:

/* @var $this \MyFakeClass */

这将为您提供视图脚本中$this的类型提示。 理想情况下,您可以使用与https://github.com/zendframework/zf2

类似的内容打开针对https://github.com/zendframework/zf2/pull/3438的拉取请求