有什么优势?如果我对项目的文件结构了如指掌,为什么我不能只使用相对 URL?例如,如果我们想要在 Trial
文件夹中创建一个文件,并且该文件名为 test.php
,这样做有什么好处
require $_SERVER['document_root'] . "/trial/test.php";
什么时候我们可以做
require "test.php"; //assuming we are in the trial folder
谢谢!
最佳答案
$_SERVER['DOCUMENT_ROOT']
非常有用,尤其是在您的开发环境中工作时。如果您正在处理大型项目,您可能会在页面中包含大量文件。例如:
<?php
//Defines constants to use for "include" URLS - helps keep our paths clean
define("REGISTRY_CLASSES", $_SERVER['DOCUMENT_ROOT']."/SOAP/classes/");
define("REGISTRY_CONTROLS", $_SERVER['DOCUMENT_ROOT']."/SOAP/controls/");
define("STRING_BUILDER", REGISTRY_CLASSES. "stringbuilder.php");
define("SESSION_MANAGER", REGISTRY_CLASSES. "sessionmanager.php");
define("STANDARD_CONTROLS", REGISTRY_CONTROLS."standardcontrols.php");
?>
在开发环境中,您很少使用根文件夹,特别是如果您在本地运行 PHP,并且使用 DOCUMENT_ROOT
是保持 URL 一致性的好方法。这将节省您准备应用程序以将其从您的设备部署到生产服务器的时间(更不用说让您免去包含路径失败的麻烦)。
然而,这是个人选择,许多框架使用dirname(__FILE__)
来根据已知文件(通常是index.php
)计算出应用程序路径
关于php - 使用 $_SERVER ['document_root' ] 有什么意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32324685/