首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使变量在PhpStorm 9中自动完成叶片模板?

如何使变量在PhpStorm 9中自动完成叶片模板?
EN

Stack Overflow用户
提问于 2015-12-07 10:11:21
回答 5查看 8.1K关注 0票数 14

我希望在刀片模板中考虑PHPdoc块。

PhpStorm 9,Laravel5.1,刀片模板文件:

代码语言:javascript
复制
<?php
/* @var App\Models\User $user */
?>
...
<?= $user->email ?> <- autocomplete for the word "email" is working
...
{{ $user->email }} <- autocomplete not working

我尝试了不同的变体:

代码语言:javascript
复制
{{
/**
* @var App\Models\User $user
**/
}}
{{ /* @var App\Models\User $user */ }}
...
{{ $user->email }} <- autocomplete not working...
...
In such variant autocomplete works, but only within that block:
{{
/* @var App\Models\User $user */
$user->email
}}
...
{{ $user->email }} <- here does not work again...

如何使自动完成在刀片模板的所有块中工作?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2015-12-07 14:52:42

目前(2015年12月),PhpStorm不支持使用Blade语法(特别是完成Blade变量)的Blade模板中的PHPDoc注释。

请跟随这些门票(星号/投票/评论),以获得有关进展的通知:

更新:

上述威-26501票据是在2017年实现的,现在您可以使用PHPDoc注释在Blade文件中声明变量及其类型。

PHP代码块:

代码语言:javascript
复制
<?php
/** @var \App\Models\User $user */
/** @var \App\MyService $someService */
?>

..。或特定于叶片的语法(@php . @endphp):

代码语言:javascript
复制
@php /** @var \App\Models\User $user */ @endphp

有关详细信息,请参阅以下博客文章:https://blog.jetbrains.com/phpstorm/2017/02/code-completion-in-laravel-blade-templates/

票数 8
EN

Stack Overflow用户

发布于 2019-09-15 08:51:14

大致相同的答案,只是封装在刀片指令中:

代码语言:javascript
复制
 @php /** @var App\Models\User $user */ @endphp
 {{ $user->email }}
票数 15
EN

Stack Overflow用户

发布于 2019-03-20 12:52:03

你现在可以做你想做的事了:

代码语言:javascript
复制
<?php
/* @var App\Models\User $user */
?>
...
{{ $user->email }} <- autocomplete working

请参阅https://blog.jetbrains.com/phpstorm/2017/02/code-completion-in-laravel-blade-templates/

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34131021

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档