5

有谁知道 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
4

1 回答 1

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/pull/3438的内容打开针对https://github.com/zendframework/zf2的拉取请求

于 2013-02-28T15:55:30.170 回答