PHP 路径的最佳实践
我一直在互联网上试图找出处理我网站中路径的最佳方法。我应该使用相对路径,绝对路径吗?
我见过dirname(FILE)多次被提及。我对相对路径的一个问题是,PHP文件包含在不同目录级别的其他几个文件中,导致相对路径中断。例如,如果目录结构是
Root
A
B
b
B中的PHP文件和An包含B中的另一个文件,那么B中文件中代码的相对路径将有所不同。
因此,一般来说,处理代码中包含和文件操作的文件路径的最佳方法是什么。
我一直在互联网上试图找出处理我网站中路径的最佳方法。我应该使用相对路径,绝对路径吗?
我见过dirname(FILE)多次被提及。我对相对路径的一个问题是,PHP文件包含在不同目录级别的其他几个文件中,导致相对路径中断。例如,如果目录结构是
Root
A
B
b
B中的PHP文件和An包含B中的另一个文件,那么B中文件中代码的相对路径将有所不同。
因此,一般来说,处理代码中包含和文件操作的文件路径的最佳方法是什么。
有很多方法可以找到路径,我总是发现在项目根目录或某种类型的文件中定义常量是最容易的。然后我可以使用包含/类加载器等,以及视图,控制器,重定向等。index.php
config
SITE_ROOT
SITE_URL
<?php
$root=pathinfo($_SERVER['SCRIPT_FILENAME']);
define ('BASE_FOLDER', basename($root['dirname']));
define ('SITE_ROOT', realpath(dirname(__FILE__)));
define ('SITE_URL', 'http://'.$_SERVER['HTTP_HOST'].'/'.BASE_FOLDER);
?>
<?php
function __autoload($class_name) {
include (SITE_ROOT.'/includes/'.$class_name.'.php');
}
$obj = new MyClass1();
$obj2 = new MyClass2();
?>
您可以将所有包含文件放入一个主目录中。然后在配置文件或脚本本身中创建一个路径变量,该变量指向包含目录。