1

大约 9 年前,我为我的网站编写了 PHP 代码。我有一个名为common.php. 我站点中的每个页面都需要此页面来访问站点的常量、类和变量。

我在本地机器上开发,然后将文件上传到实时站点。我在页面上使用的代码common.php是:

$main = ($_SERVER['HTTP_HOST'] == 'localhost')? "E:\-=Web=-\-=Sites=-\mysite\main\common.php" :"/home/mysite/public_html/main/common.php";
require_once($main);

这工作得很好,从来没有给我任何问题。

但是,我想我可以改为使用:

require_once($_SERVER["DOCUMENT_ROOT"]."/main/common.php")

这将使我的代码更紧凑,这也意味着我不必总是将我的开发站点文件放在E://

所以我的问题是,使用它是一种好习惯$_SERVER["DOCUMENT_ROOT"]吗?

如果希望在每个页面上调用配置文件,这是大多数开发人员会做的吗?

4

1 回答 1

1

最常见和最可靠的方法是在 index.php 文件或包含在同一目录或已知相对路径中的 config.php 文件中定义一个包含代码路径的常量,并引用:

if (!defined('APP_DIR')) define('APP_DIR', __DIR__); // set the app directory to that of the currently executing file

您对其他文件的要求行将变为此

require_once(APP_DIR . '/main/common.php');

现在,您可以保证此常量将包含您期望的内容。假设你设置正确,就是这样。;)

于 2013-04-11T09:19:33.903 回答