有什么好处?如果我知道项目的文件结构就像我的手背,为什么我不能只使用相对网址?例如,如果我们想要文件夹trial
中的文件并且文件名为test.php
,那么做什么有什么好处
require $_SERVER['document_root'] . "/trial/test.php";
什么时候能做到
require "test.php"; //assuming we are in the trial folder
谢谢!
答案 0 :(得分:2)
$_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