我需要将我的“网络应用程序”添加到现有网站。它将被放置在一个单独的文件夹中。
为我的应用程序定义根的最佳方法是什么?它不会与站点的其余部分进行交互。
.php
我想只是在我的根目录中创建一个脚本并执行以下操作:
define('ROOT_DIR', dirname(__FILE__));
然后将此文件包含在所有其他脚本中。
这是正确的方法吗?
我需要将我的“网络应用程序”添加到现有网站。它将被放置在一个单独的文件夹中。
为我的应用程序定义根的最佳方法是什么?它不会与站点的其余部分进行交互。
.php
我想只是在我的根目录中创建一个脚本并执行以下操作:
define('ROOT_DIR', dirname(__FILE__));
然后将此文件包含在所有其他脚本中。
这是正确的方法吗?
来自PHP DOCdirname(__FILE__)
或__DIR__
给定一个包含文件或目录路径的字符串,此函数将返回父目录的路径。
这可以根据我们的 be 结构和单个配置文件轻松更改
例如。
http://example.com = /public_html
http://example.com/mobile = /public_html/mobile
我的建议.. 硬编码它,因为它总是固定的
define('ROOT_DIR','/public_html');
如果你有一个文件/public_html/class/HelloWord.class.php
无论您当前的目录如何,您都可以轻松访问它具有以下内容
ROOT_DIR . '/class/HelloWord.class.php' ;
您的方法也是正确的,但这是个人选择的问题。我更喜欢使用绝对 URL 而不是亲戚,因为我个人认为绝对 URL 不太容易出错。
对于我们在核心 PHP 中创建的任何 Web 应用程序(不使用任何框架),我们定义一个 config.php 文件,其中包含以下两个条目(显然还有其他条目)
$WEBPATH="http://www.example.com/";
$OSPATH="/home/user/public_html/";
任何其他 php 文件的前两行是:
if(!defined(ANY_VAR_SET_BY_VALID_FILES)) die 'Invalid file';
require_once('path/config.php');
之后,所有路径/URL 都使用 $WEBPATH 或 $OSPATH。