「Web アプリ」を既存のサイトに追加する必要があります。別のフォルダに配置されます。
アプリのルートを定義する最良の方法は何ですか? サイトの残りの部分との相互作用はありません。
.php
ルートにスクリプトを作成して、次のようなことをすることを考えました。
define('ROOT_DIR', dirname(__FILE__));
そして、このファイルを他のすべてのスクリプトに含めます。
これは正しい方法ですか?
「Web アプリ」を既存のサイトに追加する必要があります。別のフォルダに配置されます。
アプリのルートを定義する最良の方法は何ですか? サイトの残りの部分との相互作用はありません。
.php
ルートにスクリプトを作成して、次のようなことをすることを考えました。
define('ROOT_DIR', dirname(__FILE__));
そして、このファイルを他のすべてのスクリプトに含めます。
これは正しい方法ですか?
FROM PHP DOC ondirname(__FILE__)
または__DIR__
ファイルまたはディレクトリのパスを含む文字列を指定すると、この関数は親ディレクトリのパスを返します。
これは、be 構造と 1 つの構成ファイルに応じて簡単に変更できます。
例えば。
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 よりも絶対 URL を使用することを好みます。
コア PHP で (フレームワークを使用せずに) 作成するすべての Web アプリケーションについて、次の 2 つのエントリを含む config.php ファイルを定義します (明らかに他のエントリも使用します)。
$WEBPATH="http://www.example.com/";
$OSPATH="/home/user/public_html/";
他の php ファイルの最初の 2 行は次のとおりです。
if(!defined(ANY_VAR_SET_BY_VALID_FILES)) die 'Invalid file';
require_once('path/config.php');
その後、すべてのパス/URL は $WEBPATH または $OSPATH を使用します。