-2

同様の質問をいくつか見つけましたが、微妙な違いがあります。つまり、含まれているファイルを編集できません。

同じphpアプリケーションのクローンが何十もあるディレクトリがあります。データベース設定を定数として定義するphpファイルである各構成ファイルを読み取ってから、そのインスタンスのDBに接続する必要があります。明らかに、すべての構成ファイルは同じアプリケーション用であるため、ディレクトリをループしてすべての構成ファイルを含めると、何百もの「一定のDB_HOSTがすでに定義されています」という通知が表示されます。

これは、各構成ファイルの前にphp名前空間を追加できれば十分簡単ですが、構成ファイルを変更することはできず、読み取るだけです。ディレクトリの内容を読み取るループ内に名前空間を構築することは不可能であるため、私は立ち往生しています。

fopen / file_get_contentsを使用してファイルを読み取り、コンテンツを再解析する以外に、これらの構成ファイルをループして定数値を含めるための独創的な方法はありますか?何かを見落としているような気がします。

ありがとう

4

3 に答える 3

1

これは明らかに TERRIFIC DESIGN の問題であり、全体の混乱をそのままにして絶え間ない問​​題を解決するばかげたトリックではなく、デザインを変更することによって解決する必要があります。

于 2012-05-01T15:40:14.500 に答える
0

あなたは何も見落としていません。マニュアルから:

定数が定義されると、それを変更したり未定義にしたりすることはできません。

ところで、その混乱を承認するリファクタリングのプロジェクトを取得できることを願っています。:)

于 2012-05-01T15:42:02.103 に答える
0

各ファイルでインクルードを使用する代わりに、単純に各ファイルをテキスト ファイルとして開き、各ファイルの内容をfread()?

これにより、正規表現を使用して必要なフィールドを解析できます。構成ファイルを PHP として含めていないため、一定の問題を回避できます。

于 2012-05-01T16:31:33.973 に答える