我在PHP项目中使用PHPStorm 8.1作为IDE(在视图侧使用twig 4.1项目)
在“twig side”上对变量进行自动完成提示会很棒,就像你可以在这个phpstorm插件中看到symfony2一样:
http://symfony2-plugin.espend.de/languages/twig/index.html#phptypes
基本上在我的twig视图中,我使用注释声明了var“type”,然后我会在我的模型(farmaco)上看到提示:
{# farmaco \Farmaco #}
{% farmaco. %} <-- I would see hints -->
注意:我没有使用Symfony,但是我安装了symfony插件,但自动完成功能对我的laravel项目的twig文件不起作用。
答案 0 :(得分:41)
您似乎错过了@var
注释。
正确的形式是:
{# @var foo \FooService #}
{{ foo. }} <!-- press CTRL+SPACE for typehints -->
我让这个非symfony项目没有问题。请务必检查实际为项目启用了symfony插件(默认情况下不是这样),并在启用后重新启动IDE。
还要确保类型提示指向fully qualified class name。
作为旁注,我有不(还)将其用于属性,即foo.bar.*
当通过魔法访问属性时(使用__get
)。对于这些实例,需要将属性放入自己的变量中:
{# @var foo \FooService #}
{{ foo.bar. }} <!-- no typehints for bar :-( -->
{% set bar = foo.bar %}
{# @var bar \BarService #}
{{ bar. }} <!-- press CTRL+SPACE for typehints :-) -->