我的PHP项目中有以下文件:
index.php
private/module1.php
private/module2.php
index.php
引用module1.php
这样:
require_once('private/module1.php');
轮到module1.php
需要module2.php
,所以它有以下几行:
require_once('private/module2.php');
我需要告知root的相对路径才能正常工作。我想这是因为 require_once 命令需要来自当前文档的路径,该路径恰好是index.php。问题是PHP Storm无法管理此引用。例如,它不会将字符串private/module2.php
转换为超链接,也不会将其作为实际引用。
如何解决这个问题?
答案 0 :(得分:4)
您只需要通过指定PhpStorm用于解析引用的包含路径来正确配置您的PhpStorm项目。
转到文件 - >设置 - > PHP。
您应该将项目根目录(index.php所在的目录)添加到包含路径列表中。
完成此操作后,PhpStorm应解析require_once('private/module2.php')
中的路径。
此外,您可以将私有目录添加到PHP index.php 中某处通过set_include_path()使用的包含路径列表中。然后你可以从 module1.php 中调用require_once('module2.php')
。
同样,您必须将私有目录添加到PhpStorm使用的包含路径列表中,以使其能够解析此引用。
答案 1 :(得分:1)
您也可以使用基本网址。 喜欢
require_once($base_url . 'private/module2.php');
基本网址可以由您自己定义,也可以使用$ _SERVER变量来获取它 http://www.php.net/manual/en/reserved.variables.server.php
答案 2 :(得分:0)
PhpStorm无法提供参考,因为它正在寻找
index.php
private/module1.php
private/private/module2.php
module1.php
应该只需要文件名module2.php
:
require_once('module2.php);