当我require
或include
PHPStorm中的文件时,它无法检测到主文件中定义的变量正在被需要/包含的文件中使用。与包含/必需文件中的变量相同,它显示为未定义。如何设置PHPStorm检查所需/包含文件中的变量用法?如何检查必需/包含文件中的变量定义?
下面是清晰的例子:
主文件(假设main.php
):
<?php
$var1 = "hi";
require "next.php";
虽然这里是 “必需的” next.php
文件:
<?php
echo "<p>".$var1."</p>";
的代码工作正常但在PHPStorm上,$var1
在main.php
文件中显示为未使用,但在中显示为未定义文件。
我见过几个关于如何禁用警告的答案,但这不是我想要的。我希望PHPStorm分别识别被调用模块和调用模块中使用和定义的变量。
这可能吗?或者我问错误的问题?
如果有人想知道为什么我这样做,我试图从结构ala-MVC中分离逻辑。
好的明白了你的意思,但这是否意味着我们应该避免MVC? – Paolo 2015-08-14 05:02:53
MVC不排除适当的变量传递。如果你把所有的东西都写成带有明确参数的函数或类,并且使用一个模板化的系统来分离变量(例如Twig)或者你至少使用PhpStorm的必要注释,它就不会抱怨。 – deceze 2015-08-14 05:39:37
我明白了。我会接受这个答案。 – Paolo 2015-08-14 06:37:01