PhpStorm 表达式预期在 HTML 属性中使用 PHP 短回声标记

PhpStorm Expression Expected Using PHP Short Echo Tags Inside HTML Attributes

我在进行代码审查时发现了类似的问题,但我没有看到代码有什么问题(PhpStorm 显示为语法错误)。问题是在 HTML 属性中使用 PHP 短回显标签。 PhpStorm 似乎对标签的 for 属性或输入的 id 属性的使用没有问题,但表明输入的 name 属性存在错误。这是一个简单的复制方法。

文件名:trash.phtml

<?php
/** ...*/
function getId(): string
{
    return '0';
}
?>
<label for="bundle_me[<?= getId(); ?>]"></label>
<input type="hidden"
       id="bundle_me[<?= getId(); ?>]"
       name="bundle_me[<?= getId(); ?>]"/>

这是 Linux VM 上的 PhpStorm 2021.1.4 运行。 PHP 版本 7.4

查看您的屏幕截图 -- name 属性值具有不同的(浅绿色)背景...这表明您以某种方式在那里注入了另一种语言。

  1. Settings/Preferences | Editor | Language Injections
  2. 查看其中 Scope 列具有“IDE”或“项目”值的所有条目。
  3. 找到并禁用意外规则(很可能会提到 HTML 或 XML + name and/or input
  4. 如果一切顺利 -- 您现在可以删除那个错误的规则。
    • 如果不确定:post 具有 IDE 和项目范围行的屏幕。
  5. 如果仍然没有 - 可能是某个插件(AFAIK 捆绑 Angular 插件有类似的问题...)

这是 Angular 插件中的错误:https://youtrack.jetbrains.com/issue/WEB-39052
必须由 WebStorm 团队修复。同时,如果您不使用 Angular.

,您可以禁用该插件