如您所见,第一个 require_once 没有给出弱警告。后一个可以,但我不明白为什么。发生这种情况有什么原因吗?该文件存在并包含一个类。如果它有用,这是文件结构:
-| Project
-| Anomius
- Anomius.php (This is the included file)
-| Sites
-| Foo
- app.php (This is the file on the image)
只需禁用 PhpStorm 中产生警告的设置:
在>Settings
下搜索“未解决的包含” ;> >Editor
Inspections
PHP
General
Unresolved include
并取消选中该框。
默认情况下,PHPStorm 只记住变量名,而不是值。因此,如果您开始输入$ano
,它会给您自动完成$anomius
,但它不知道$anomius
实际包含什么。
为了让 PHPStorm 了解你的文件在哪里,试试这个:
$anomius = "your_file.php";
/** @define "$anomius" "/absolute/path/to/your/php/file" */
require_once($anomius);
这是一个较晚的答案,但截至目前(2021 年),PHPStorm 可以通过以下评论在更精细的基础上抑制警告:
/** @noinspection PhpIncludeInspection */
您可以将其放在语句级别(就在相关行的正上方)、方法级别(在您的语句所在的方法之上)或文件级别(在您的<?php
标签之后的文件顶部)。
如果您使用其中一种快速操作,PHPStorm 会将评论放在适合您的位置。显然,您更喜欢什么,并且禁用警告仍然是一种选择,但我可能需要在另一个有效的位置再次发出警告。