1

私は現在4800行以上の長さ(現在約202KB)のPHPのクラスに取り組んでいます-それには関数の大規模なコレクションが含まれています。これはほとんどフレームワークですが、その用語に値するほど一般的 (または高度) ではありません。

データベースに接続して 1 つの選択クエリを実行する関数があり__construct()、パブリック関数はありません。

ファイルを使用する必要があるページにファイルを含めて、次のように呼び出します。

<?php $myFramework = new MyFramework(); ?>

これが私の質問です - クラス内の関数の量は、__construct()実行時に関数が与える影響以上にパフォーマンスに影響を与えますか?

202KB のファイルを含めると Web アプリの速度が低下するので、関数を小さなファイルに分割することをお勧めしますか?

4

3 に答える 3

4

あなたの場合のみですが、一般的にはそうではありません:

速度について言えば、関数を小さなファイルに分割すると、インクルードの数が増え、アプリケーションの速度が大幅に低下します。
あなたが言うように、あなたのメソッドは論理的に扱われているので、コードをそのままにしておくことができます。

于 2012-12-20T15:42:58.870 に答える
2

伝える方法はありません...

少し曖昧に聞こえるかもしれませんが、非常に一般的であるため、確実に測定することが唯一の方法です。

繰り返しになりますが、パフォーマンスが心配な場合は、おそらくAPCのようなオペコード キャッシュを実装することになるでしょう。これを行うとすぐに、クラスがキャッシュされ、すべてのコードの解析が不要になります。

経験則として、DB クエリはほとんどの場合、最初に最適化されてボトルネックになりますが、疑わしい場合は測定してください。

于 2012-12-20T15:47:50.637 に答える
1

すべてのリクエストがそのすべてのコードを必要とするかどうかは、事実に大きく依存します。そうでない場合は、リクエストごとに必要以上のデータをロードしています。

基本的に、リクエストごとにすべてのコードが必要な場合は、すべてを 1 つのファイルに入れるのが最速です。そうでない場合は、分割する方がはるかに高速です。

于 2012-12-20T15:50:30.727 に答える