2016-11-10 5 views
0

私はPHPが初めてです。私はドキュメンテーションを見ていて、問題を抱えています。私は、私が取り組んでいる複数ペ​​ージのPHPサイトを持っています。私は相対パス(PHP Relative Path Issues)に問題があり、次のURL(PHP include relative path)を指していました。私が定義するステートメントを追加します(?のindex.php)とどのように私が持っているすべての以降のページでのroot_pathを参照することができますどのようなページでPHP - 定数の宣言と使用の助けが必要

if (is_production()) { 
    define('ROOT_PATH', '/some/production/path'); 
} 
else { 
    define('ROOT_PATH', '/root'); 
} 
include ROOT_PATH . '/connect.php'; 

:私はポストに次のコードスニペットのようなものを使いたいですインクルードステートメント?

私はindex.phpページに定義文を追加するが、内の他のページの結果でのroot_pathを呼び出してみました:未定義の定数のroot_path

のindex.phpの使用:「/いくつかの/「のroot_path」(定義生産/経路 ');
他のページ:include_once(ROOT_PATH。 "/ Library/API/database.inc.php");

production.inc.phpdevelopment.inc.phpなどの各環境用のファイルを作成し、あなたのis_production()条件を使用してindex.phpに必要なものを含める:

+3

あなたはすべての環境変数の設定ファイルを作成し、PHPファイルのすべて@FlyFish –

+0

@RyanVincentにこのファイルを追加私はindex.phpにdefineステートメントを追加しようとしましたが、その後のページでは認識されませんでした。 – FlyFish

+0

@parthmahidaで展開するには... config.phpのようなファイルを作成し、configs、constantsなどをすべて追加します。各ページにconfig.phpファイルを一番上に含めます。 – Spechal

答えて

0

あなたは2可能(共通)が近づいています。

- OR -

if (is_production()) { 
    define('ROOT_PATH', '/some/production/path'); 
} else { 
    define('ROOT_PATH', '/root'); 
} 

が含まれている1つのファイルを作成し、ちょうどこれらの定数を必要とするすべてのページへの単一のファイルが含まれています。

+0

私は明確ではないと思います。私は、単一の定義文を持つことを探しているだけです。私の問題は、 'ROOT_PATH'定数を設定して他のページにアクセスする方法を理解できないことです。 – FlyFish

+0

@FlyFishそれは私の答えの最後の文で私が意味していたものです。コンテナにアクセスする必要があるすべてのページで 'include_once(" config.inc.php ");を実行してください。 –

0

問題がSCOPING問題であったと思います。私は@ parthmahidaと@Spechalの提案を出しましたが、まだ問題がありました。私は関数でそれを見るためにスコープを見なければならなくなった。

0

環境設定情報と定数を含むファイルを含める場合は、常にそれを呼び出すスクリプトからの相対パスでなければなりません。

<?php 

// config.php 
function is_production(){ // do something to return boolean } 
if (is_production()) { 
    define('ROOT_PATH', '/some/production/path'); 
} 
else { 
    define('ROOT_PATH', '/root'); 
} 

...

<?php 

// index.php 
include 'config.php'; 
include ROOT_PATH . 'some-file.php'; 
// do stuff 

...

<?php 

// some-page.php 
include 'config.php'; 
include ROOT_PATH . 'other-file.php'; 
// do stuff 
関連する問題