0

最近、以前よりも大きなプロジェクトを開始しましたが、すべてのディレクトリとのリンク (ファイルを含めるなど) を管理するのが難しいと感じています。

ベースパスを定義してそこから移動する方法はありますか?

だから、このようなもの:

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

それ以外の:

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

基本的に、ファイルを移動してもリンクが切れないようにする方法です。

4

2 に答える 2

1

__DIR__インデックスファイル/フロントコントローラーの値に基づいて、いつでも変数を保存または定義できます。

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

他のファイルでは、次のようにベース ディレクトリを参照できるようになります。

// in some_other.php
require(BASE_DIR . '/folder/file.php');
于 2012-07-28T01:54:55.170 に答える
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';
于 2012-07-28T02:03:40.087 に答える