告诉PhpStorm开始在特定路径中查找文件
我的项目结构如下所示: 在我的告诉PhpStorm开始在特定路径中查找文件,php,autocomplete,phpstorm,relative-path,code-hinting,Php,Autocomplete,Phpstorm,Relative Path,Code Hinting,我的项目结构如下所示: 在我的index.php中,我使用 <?php if (isset($_GET['site'])) { switch ($_GET['site']) { ... case 'abilities': include("./content/abilities.php"); break; ...
index.php
中,我使用
<?php
if (isset($_GET['site'])) {
switch ($_GET['site']) {
...
case 'abilities':
include("./content/abilities.php");
break;
...
}
}
?>
它在浏览器中运行得非常好,但PhpStorm表示它找不到该类:
这很可能是因为它在content
目录中搜索一个model
目录,该目录中没有类Ability.php
所以我的问题是,我如何告诉PhpStorm开始查找文件,就好像我的能力.php
会像index.php
一样位于root
目录中一样
例如,为
abilities.php
设置一个备用路径,以开始查找文件或类似的内容。如果您只是将文件添加到PHPStorm项目中,程序将接收它们。然而,我认为您真正想要的(可能没有意识到)可能是如何在PHP中使用名称空间。它类似于应用程序可以读取的程序目录结构。关于它的教程和官方PHP文档有很多。您是否在PHPStorm中配置了项目结构?查找项目设置,您可以检查是否有项目设置,或者将目录标记为“源”。这将是您案例中屏幕截图中显示的父目录
屏幕截图适用于Java项目,但您可以用同样的方法告诉IDEA PHP项目在哪里查找源文件。。。您的require\u once()
以/
开头,它告诉IDE“查找相对于当前文件/文件夹的文件”。根据你的文件夹结构,这显然是不正确的。在运行期间,PHP无法相对于当前文件夹找到它。。。因此,它开始从include\u path
的所有文件夹中查找,并在其他位置(相对于项目根目录)找到它。您是否考虑过使用更正确的路径?注意:在您的特殊情况下,使用。/
代替。/
也应该解析路径如果我使用。/
代替。
它将在PhpStorm
中正确解析,但是浏览器找不到文件,因为abilities.php
的内容将加载到index.php
中,并且require_once(“../model/Ability.php”)代码>将不正确。您对“使用更多正确路径”的含义是什么?以及对“使用更多正确路径”的含义是什么?没有第二解释的路径(例如,如果从一条路径自动加载失败,则将尝试第二、第三条路径等)。最好的方法是使用绝对路径,例如使用\uuuu DIR\uuu
和相对于当前文件的路径。对您来说,它可能是require_once(uuu DIR_uu.../model/Ability.php)代码>
require_once ("./model/Ability.php");