1

私はプロジェクトに取り組んでいますが、すべてのライブラリをすべてのページにロードするのにうんざりしています

私のプロジェクトディレクトリはこのようなものです

|---x (( PHP PAGES ))
  |--- x1.php (( PHP FILE ))
  |--- x2.php (( PHP FILE ))
|---y (( PHP PAGES ))
  |--- y1.php (( PHP FILE ))
  |--- y2.php (( PHP FILE ))
|---includes (( LIBRARIES ))
a.php (( PHP FILE ))
b.php (( PHP FILE ))
c.php (( PHP FILE ))

すべてのライブラリを 1 つのファイルにロードし、そのファイルをすべてのページにロードしようとしましたが、たとえば x1.php でライブラリをロードすると、この "../include/" のようになりますが、 a.php へのロードには「include/」が必要なだけです。リクエストの送信元に関係なく、「includes」ディレクトリに到達する方法があることは知っていますが、これを行う方法がわかりません。

ありがとう

4

2 に答える 2

1

すべてのファイルをインクルードとしてロードすると、不要な肥大化が追加され、サイトの速度が低下する可能性があります. あなたが試すかもしれないのは、クラスの自動ロードです: http://www.php.net/manual/en/language.oop5.autoload.php

インクルードをあちこちに分散させる必要がなくなりますが、本当に必要なファイルだけがインクルードされます。

于 2010-02-10T06:41:10.877 に答える
0

あなたの質問への答えは、を設定することinclude_pathです。デフォルトでは、PHP はインクルード ファイルを呼び出しファイルと同じディレクトリで探しますが、 を設定するinclude_pathと代わりにそこを探します。

ただし、クラスのオートローディングと__autoload()機能は長期的にはさらに優れているため、e4c5 の回答を使用してください。

于 2010-09-13T20:32:18.657 に答える