2012-03-02 6 views
3

require_onceのようなものを使用して理解したことは、本来、最初のファイルにあるかのように、コードをコピーして別のファイルに貼り付けることになります。私はこのような何かをした場合、それが有効なメソッド内でrequire_onceを使用する

foo.php

<?php 
require_once("bar.php"); 
?> 

bar.php今php foo.phpますちょうど出力"Hello World!"

私を実行している

<?php 
print "Hello World!" 
?> 

だろう 意味問題は、メソッドの中にrequire_onceを含めると、含まれているファイルは、s criptが読み込まれるか、メソッドが呼び出されたときだけ? メソッドが呼び出されたときだけであれば、パフォーマンス上のメリットがあります。または、すべてのコードを1つの大きなファイルに保存した場合と同じになります。

大量のコールを処理するAPIファイルを作成したので、主に質問していますが、ファイルを簡略化することはできません。 (私はちょうど別のクラスを作成することがこれを行うことができます知っているが、私は、これは知って良いだろうと思った)

答えて

1

(これはすでに求められている場合には申し訳ありませんが、私はを検索するかわかりませんでした) 1)メソッドが呼び出されたときのみ。

2)PHPインタプリタは、使用中でない場合に余分なコードを解析する必要がないように、即座に読み込むことができます。

+0

などあなたもob_start()に含まれたファイルと同様に、バッファ出力からの値(つまり文字列)を返すことができる点に注意してください。2.それは(オペコードキャッシュを使用する場合は特に)、パフォーマンスの質問VSメモリです。オンデマンドコードをロードするとメモリが節約されますが、処理がより多く必要となり、キャッシュするのが難しくなります。 – Mchl

+0

ありがとう、それは私が知る必要があったものです。以前はキャッシュがどのように機能するのか考えなかった。ありがとう。 –

2

メソッドが呼び出されたときのみが含まれますが、autoloadingを見たことがありますか?

0

私は通常、include( 'bar.php');を使用します。私はdatabvase情報を使用するときに使用する、私はログイン情報とdatabase.phpと呼ばれるファイルを持っていると、ファイルを読み込むときにそれを右に呼び出します。私はその機能を呼び出す必要はありません。それは最も効果的で効率的ではないかもしれませんが、私のために働きます。 include_once ... includeを使用することもできます。基本的には、コードをエッセンシャルにコピーします。

0

他にも言及したように、はい、ジャストインタイムです。

しかし、変数定義に注意してください(メソッドからのインポートでは、そのメソッドのスコープ内のローカル変数へのアクセスのみが許可されます)。

関連する問題