PHPStorm自动完成 Twig 变量

标签 php laravel phpstorm

我在一个 php 项目中使用 PHPStorm 8.1 作为 IDE(laravel 4.1 项目在 View 侧带有 Twig )

如果你可以在 symfony2 的这个 phpstorm 插件上看到“twig side”上的 vars 自动完成提示,那就太好了:
http://symfony2-plugin.espend.de/languages/twig/index.html#phptypes

基本上在我的 twig View 中,我使用注释声明 var“类型”,然后我会在我的模型 (farmaco) 上看到提示:

   {# farmaco \Farmaco #}
   {% farmaco.  %} <-- I would see hints -->

注意:我没有使用 Symfony,但是我安装了 symfony 插件,但自动完成功能对我的 laravel 项目的 Twig 文件不起作用。

最佳答案

您似乎缺少 @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 :-) -->

关于PHPStorm自动完成 Twig 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26274704/

相关文章:

php - 当插入数据存在时,PDO Mysql数据不显示

php - 将数据从 Android 应用程序发布到 PHP 网站的问题

Laravel、VueJS [Vue 警告] : Unknown custom element: did you register the component correctly?

php - Laravel 5.1 - 合并多个 Eloquent 查询并按时间戳排序

Laravel Eloquent vs DB外观: Why use Eloquent and decrease performance?

ssh - PhpStorm运行命令上传到服务器

php - 无法从数据库 php 获取图像

php - 在 jQuery.Post 方法中执行 mySQL 查询

mysql - Docker - 无法连接到 MySQL 实例。怎么解决呢?

laravel - 未定义的类路由(PhpStorm 中的 Laravel)