11

この質問は、ほぼ即座に決定的な YES または NO を言うように促す人もいるかもしれませんが、読み進めてください...

私は30のphpページがある単純なWebサイトを持っています(それぞれにいくつかのphpサーバー側コード+ HTML/CSSなどがあります...)。複雑な階層はありません。わずか30ページ。

また、純粋なバックエンド php ファイルのセットもあります。データベースへの保存、認証の実行、電子メールの送信、注文の処理などを行うためのコードが含まれています。これらは、30 個のコンテンツ ページで再利用されます。

パラメータを送信するマスターphpファイルがあります。これは、これらの 30 個のファイルのどれが必要かを指定し、適切なコンテンツ ページを含みます。ただし、それらのそれぞれに、さまざまな数のバックエンド ファイルを含める必要がある場合があります。たとえば、バックエンドから何も必要としないコンテンツ ページもあれば、データベース コードが必要なコンテンツ ページもあれば、メーラー、データベース、認証コードが必要なコンテンツ ページなどもあります。

必要なバックエンド ページは何でも、適切なコンテンツ ページに含めることができると思いますが、パスを少し変更すると、何十ものファイルを編集する必要があります。どのコンテンツ ページが要求されているか (スイッチ ケース タイプのもの) を確認し、適切なバックエンド ファイルをマスター php ファイルに含めるのは面倒です。繰り返しますが、1 つのパスが変更されると、多くの変更を行う必要があります。

怠け者なので、すべてのバックエンド ファイルをマスター ファイルに含めて、コンテンツ ページが含まれていないものを要求できないようにしました。

最初の質問 - これは良い習慣ですか? それが誰かによって行われた場合。

次に、必要かどうかに関係なく、すべてのバックエンド ファイルを含めることで、パフォーマンスの問題や何らかの問題が発生しますか?

編集

Web サイトには、1 日あたり 3000 ~ 4000 回のアクセスがあります。

4

9 に答える 9

7

ベンチマークする必要があります。インクルードが異なる同じページの実行時間を計測します。しかし、30個のファイルではそれほど違いはないと思います。

ただし、時間を節約して、php.iniでAPCを有効にすることができます(これはPECL拡張機能であるため、インストールする必要があります)。それはあなたのファイルの解析された内容をキャッシュします、そしてそれは物事をかなりスピードアップします。

ところで:怠惰には何も悪いことはありません、それは美徳です;)

于 2010-02-04T08:37:05.190 に答える
1

それはあなたのサイトを遅くしますが、おそらく目立った量ではありません。ただし、アプリケーションを整理するための健全な方法とは思えません。私はそれを再考します。アプリケーションロジック(サーバー側のコードのほとんどなど)をプレゼンテーション層(HTML / CSSなど)から分離してみてください。

于 2010-02-04T08:34:53.777 に答える
1

ファイルが小さく、定義と設定だけが含まれている場合は、悪い習慣ではありません。実際にコードを実行する場合、または非常に大きい場合は、パフォーマンスの問題が発生します。今-あなたのサイトに1時間に3人の訪問者がいるなら-誰が気にしますか、あなたが30000を持っているなら...それは別の問題です、そしてあなたはそれを最小にするためにもっと一生懸命働く必要があります。

于 2010-02-04T08:38:07.513 に答える
0

あなたのウェブサイトのサイズを考慮して; 速度低下に気づいていないのなら、なぜそれを修正しようとするのですか?

大規模なサイトの場合、最初にすべきことはAPCをインストールすることです。ファイルを含める現在の方法では、APCのメリットはそれほど大きくないかもしれませんが、APCは、処理を高速化するという驚くべき仕事をします。

それでも応答速度に問題がある場合は、すべてのファイルを含めることを検討する必要があります。APCは、キャッシュされたバージョンのソースファイルをメモリに保持しますが、条件付きインクルードがない場合にのみこれをうまく行うことができます。

PHPアプリケーションがメモリの枯渇が大きなリスクとなるサイズである場合にのみ(ほとんどの大規模なWebサイトでは、メモリがボトルネックではないことに注意してください)、アプリケーションの一部を条件付きで含めることができます。

Rasmus Lerdorf(PHPの背後にいる男)は同意します:http://pooteeweet.org/blog/538

于 2010-02-04T09:00:14.937 に答える
0

それは確かにあなたのウェブサイトを遅くします. ほとんどの原因は、PHP の読み込みと処理が比較的遅いためです。含めるコードが多いほど、アプリケーションは遅くなります。

于 2010-02-05T22:05:30.497 に答える
0

XCacheを使用すると、PHP コードのコンパイルの欠点の一部を軽減できます。この PHP モジュールは、コンパイル時間とパフォーマンスを削減する PHP オペコードをキャッシュします。

于 2010-02-04T08:50:18.437 に答える
-1

私は「できるだけ少なく、必要なだけインクルードする」ことで生きているので、通常はすべての構成とセッション処理を含めるだけで、各ページには、構成インクルードで定義されたインクルードパスを使用して必要なものだけが含まれます。それでも、1つのファイルを変更する必要があります。

すべてを含めると、多くのページヒット(1秒あたり数回のヒット)が発生するまで速度低下は目立たないため、すべてを含めるだけで問題ない場合があります。

于 2010-02-04T08:38:32.253 に答える