如何设置 PHPStorm 检查 required/included 文件中的变量使用情况?如何检查 required/included 文件中的变量定义?
How to set PHPStorm to check for variable usage in required/included files? How to check variable definition in required/included files?
当我在 PHPStorm 中 require
或 include
一个文件时,它无法检测到主文件中定义的变量正在被 required/included.与 included/required 文件中的变量相同,它显示为未定义。
为了清楚起见,这里有一个示例:
主文件(假设 main.php
):
<?php
$var1 = "hi";
require "next.php";
这里是 "required" next.php
文件:
<?php
echo "<p>".$var1."</p>";
代码工作正常,但在 PHPStorm 上,$var1
在 main.php
文件中显示为未使用,而在 next.php
文件中显示为未定义。
我在 SO 上看到了几个关于如何禁用警告的答案,但这不是我想要的。我希望 PHPStorm 将此变量识别为分别在被调用和调用模块中使用和定义。
这可能吗?还是我问错了问题?
如果有人想知道我为什么这样做,我正在尝试将逻辑与结构 ala-MVC 分开。
为什么PhpStorm默认没有实现这个有很多问题。
我只能建议您为您的项目创建自定义插件,我可以帮助您实现它。
您可以使用自定义 goto 插件观看视频。这与你的问题有关。在视图文件中导航到控制器文件中定义的变量。 https://www.youtube.com/watch?v=bVy2MJGJ6LM
问题是仅查看 next.php
本身 ,变量明确地未定义。无法保证 next.php
将如何执行。您不能限制文件仅在从另一个文件包含时执行。你可以自己执行这个文件,在这种情况下它会失败。或者你可以 include
从无数其他没有设置这个变量的文件中获取它,在这种情况下它将失败。
这就是 PhpStorm 为这个未定义的变量唠叨你的原因。它是糟糕的编码风格,因为它可能在任何情况下都会失败。
我经常使用 init.php 脚本,例如建立数据库连接 ($db)。
如果连接发生变化,只需编辑一个地方。
在我正在做的工作的脚本中,我现在总是从
开始
当我在 PHPStorm 中 require
或 include
一个文件时,它无法检测到主文件中定义的变量正在被 required/included.与 included/required 文件中的变量相同,它显示为未定义。
为了清楚起见,这里有一个示例:
主文件(假设 main.php
):
<?php
$var1 = "hi";
require "next.php";
这里是 "required" next.php
文件:
<?php
echo "<p>".$var1."</p>";
代码工作正常,但在 PHPStorm 上,$var1
在 main.php
文件中显示为未使用,而在 next.php
文件中显示为未定义。
我在 SO 上看到了几个关于如何禁用警告的答案,但这不是我想要的。我希望 PHPStorm 将此变量识别为分别在被调用和调用模块中使用和定义。
这可能吗?还是我问错了问题?
如果有人想知道我为什么这样做,我正在尝试将逻辑与结构 ala-MVC 分开。
为什么PhpStorm默认没有实现这个有很多问题。 我只能建议您为您的项目创建自定义插件,我可以帮助您实现它。
您可以使用自定义 goto 插件观看视频。这与你的问题有关。在视图文件中导航到控制器文件中定义的变量。 https://www.youtube.com/watch?v=bVy2MJGJ6LM
问题是仅查看 next.php
本身 ,变量明确地未定义。无法保证 next.php
将如何执行。您不能限制文件仅在从另一个文件包含时执行。你可以自己执行这个文件,在这种情况下它会失败。或者你可以 include
从无数其他没有设置这个变量的文件中获取它,在这种情况下它将失败。
这就是 PhpStorm 为这个未定义的变量唠叨你的原因。它是糟糕的编码风格,因为它可能在任何情况下都会失败。
我经常使用 init.php 脚本,例如建立数据库连接 ($db)。 如果连接发生变化,只需编辑一个地方。 在我正在做的工作的脚本中,我现在总是从
开始