2

関連する質問を読みましたが、答えが見つかりませんでした。これは、require/require_onceまたは__autoload関数の使用やファイルの名前についてではありません。

私の会社は大規模なサイトを構築しており、成長するにつれて、次のような関係によって機能を分割するようになりました。

inc.functions-user.php inc.functions-media.php inc.functions-calendar.php

これらの各ファイルは、1000 ~ 3000 行のコードになる傾向があります。組み合わせると、それらを維持するのがモンスターになり、より多くの開発者にとってより困難になります。

ただし、大規模なサイトの一部では、これらの個々の関数ファイルが 8 ~ 15 個で終わっています。

15 個の関数ファイルをヘッダーに含めるのが最善の方法ですか、それともそれらを組み合わせる方法を見つける必要がありますか? 12 インクルード対 5 インクルードは、サイトの運営に著しく悪影響を及ぼしますか?

4

5 に答える 5

3

パフォーマンスが気になる場合は、コンパイルされた形式のスクリプトをメモリに保存する APC などの opcocde cche をインストールしてください。

APC をインストールしたくない場合、違いは最小限です。アクセスするファイルが少ないほど時間がかかりませんが、ほとんどの時間が費やされるわけではありません。(特に、ファイルシステムがスクリプト(コンパイルされていない)をメモリにキャッシュできる必要があるため)スクリプトが十分に頻繁に要求される場合。

于 2009-12-01T14:41:31.597 に答える
0

通常の PHP では、可能な限り少数のインクルード ファイルを使用する方が一般的には優れていますが、もちろんそれではメンテナンスが面倒になります。APCなどのオペコード キャッシュを使用すると、パフォーマンスの問題はほとんど解消されます。また、12 個のファイルは、大規模な MVC フレームワークや他のライブラリと比較して、それほど多くのインクルードではありません。関数を論理構造で分離しておくことが、断然最良の方法です。

于 2009-12-01T14:42:01.510 に答える
0

include/require 関数を 12 回ではなく 5 回呼び出してもそれほど違いはありません。重要なのは、含まれるファイルの内容です。

また、APC や xcache などの目的に適した cahcher を含めることもできます。

于 2009-12-01T14:42:47.147 に答える
0

それらをさらに多くのファイルに分割することをお勧めします。MVC パターンや他のフレームワークを見てください。それらは極端に分割されているため、構造に従っている限り、何かを破壊することを心配することなく、「のみ」の部分を簡単に維持できます。

于 2009-12-01T14:43:58.760 に答える
0

私も考えるいくつかの考慮事項

  • Rasmus Lerdorf は、「約 5 つを超えるインクルードを持つべきではない」と頻繁に言っています。彼はPHPを作ったので、彼が話していることを知っているとしか思えません。ただし、これの実現可能性については懐疑的です。特に大規模なプロジェクトでは。
  • 開発とマイルストーンは、開発者の負担を軽減するのに適していることがわかりました。それが個別のファイルを意味する場合、それは良い考えです。
  • CPU の使用率や帯域幅が気になる場合は、インクルードを自由に使用するよりも明らかなボトルネックが存在する可能性があります。最適化されていない関数はアプリを高速化する良い方法であり、画像と css または js ファイルに注意を払うことは帯域幅を減らす良い方法です。
于 2009-12-01T14:44:08.500 に答える