我试图准确理解php如何处理页面调用中的路径。
假设我在基本目录中有index.php,functions / functionFile1.php,functions / functionFile2.php和settings / settingFile.php
所以直截了当的是index.php
include_once("functions/functionsFile1.php");
include_once('settings/settingsFile.php');
在functions1文件中:
include_once('settings/settingsFile.php');
include_once('functionsFile2.php);
function DoX()
{
include("settings/settings.php");
$variableInSettingsPage;
}
这是如何工作的? functions1.php文件似乎能够调用相对于它自己的两个文件(functions2.php)及其调用页面(settings / settings.php)?并且需要调用设置文件的函数可以使用相对于调用页面的路径,即使它超出范围并拒绝使用相对于其页面的路径?
答案 0 :(得分:0)
Php使用包含路径,可以包含文件的每个路径都存储在那里。 当你试图包含一个文件时,php将循环遍历每个路径并检查你的文件是否在其中一个,如果是,它将停止循环并包含它,如果不是,它将保持循环直到它最终到达结束并引发错误。
您可以使用get_include_path()
查看include_path中的内容