當我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