我最近开始了一个比以往更大的项目,我发现很难管理所有目录的链接(例如包括文件)。
有没有办法我可以定义一个基本路径,然后从那里开始。
所以是这样的:
require(BASEPATH.'/folder/file.php');
代替:
require('../../folder/file.php');
所以基本上是一种在移动文件时链接不会中断的方法。
我最近开始了一个比以往更大的项目,我发现很难管理所有目录的链接(例如包括文件)。
有没有办法我可以定义一个基本路径,然后从那里开始。
所以是这样的:
require(BASEPATH.'/folder/file.php');
代替:
require('../../folder/file.php');
所以基本上是一种在移动文件时链接不会中断的方法。
您始终可以根据__DIR__
索引文件/前端控制器中的值存储或定义变量:
// in index.php
define('BASE_DIR', __DIR__);
在其他文件中,您现在可以像这样引用基目录:
// in some_other.php
require(BASE_DIR . '/folder/file.php');
所以你说你已经开始了一个大项目——然后你从一开始就做它,即从当前点开始。
我建议你创建const.php
包含这个:
<?php
$constants = array(
'DS' => DIRECTORY_SEPARATOR, //shorthand
'ROOT' => __DIR__,
'LIBS' => ROOT . '/libs'
);
//and so on - add more
//Define each one now:
foreach ($constants as $const => $val ){
define($const, $val);
}
您项目的任何文件:
<?php
require ('../const.php');
//now constants are available and you can access them:
require ROOT . 'some.php'; //etc etc
require ROOT . 'another.php';