管理链接和目录

时间:2012-07-28 01:51:14

标签: php

我最近开始了一个比我习惯的更大的项目,我发现很难管理所有目录的链接(例如包含文件)。

有没有办法可以定义一个基本路径,然后从那里开始。

这样的事情:

require(BASEPATH.'/folder/file.php');

而不是:

require('../../folder/file.php');

所以基本上是一种方式,以便在移动文件时链接不会中断。

2 个答案:

答案 0 :(得分:1)

您始终可以根据索引文件/前端控制器中__DIR__的值存储或定义变量:

// in index.php
define('BASE_DIR', __DIR__);

在其他文件中,您现在可以像这样引用基目录:

// in some_other.php
require(BASE_DIR . '/folder/file.php');

答案 1 :(得分:1)

所以你说你已经开始了一个大型项目 - 然后你从一开始就做到了,即从现在开始。

我建议您创建包含此内容的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';