2011-10-23 12 views
0

ファイルに条件文が含まれているときにファイルが完全に読み込まれるかどうかは疑問です。PHPファイルは完全に条件文で読み込まれますか?

私は約5000行のコードで大きなファイルを持っていますが(例として)、条件文にあるため実行されません。ファイルをロードするのに同じ時間がかかるのでしょうか?

私は、通常、複数のファイルでコードを分割し、オートローダに必要なファイルを処理させる方が高速であると想定できますか?あるいは、新しいファイル要求がすべてを遅くするでしょうか?この場合:条件文を含むファイルの実行よりもファイルのロードが速いときに、境界はどこにありますか?

+0

実際に実行される前に、完全に "ロード"されている必要があります([ファイルの下部にある関数を宣言して呼び出す](http://codepad.org/VKCHW69l))。 –

答えて

2

質問の最初の部分に答えるのは簡単です:はい、ファイルは完全に読み込まれて解析されます。半分またはすべてのコードが実行されなくなることは問題ではありません。

2番目の部分は、よりトリッキーです。あなたはパフォーマンスについて話していますが、この特定の領域(インクルードの数とサイズを最適化してより多くのperfを抽出しようとすると)はかなり高いです。したがって、

  1. アセットキャッシング、オペコードキャッシングなどの設定のような、より簡単な操作を可能にするたびに、あなたはこの点に達する前に持っていなければなりません。
  2. とにかく質問に答えることは不可能です。あなただけがアクセスできる実際のパフォーマンスデータが必要になります。

経験に基づいて、私はあなたがごくわずかな影響であなたのボトムラインに影響を及ぼすものについて心配していると思います。それをやめ、保守しやすいコードを書いてください。ソースコードを好きなだけ分割し、オートローダーを使用することは、そのための良いアプローチです。

+0

その答えをありがとう、最後のビットは本当に私が好奇心を抱かせたものでした。それはより理論的な質問だった、確かにそれは条件文で2500行のコードを持っているばかげているだろう;) – Anonymous

1

まず、早すぎる最適化:しないでください。第2に、elseステートメントに2500行がある場合は、きれいなコードを書くための本を実際に手に入れてください。

あなたの質問に答えてください:ファイル全体を解析して実行するためには、そのファイルを読み込む必要があります。

+0

読み込み時に解析されませんか? –

+0

言い回しを変更しました。ありがとうございます。 – CodeCaster

+0

Eh ... *実行前に実行されます* Just sayin '。 ':P' –

0

なぜこれについて考えるか? APC拡張モジュールをインストールすれば、PHPはコンパイルされたコードをメモリに保持します。ディスクに触れることなくスタティックコードをキャッシュするように設定する方法があります。変更を加えたときには、キャッシュを手動でクリアする必要があります。

関連する問題