3

私が理解していることから、次のようなものを使用するrequire_onceと、元々最初のファイルにあったかのように、コードをあるファイルから別のファイルにコピーして貼り付けることができます。つまり、私がこのようなことをした場合、それは有効です

foo.php

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

bar.php

<?php
print "Hello World!"
?>

実行php foo.phpすると出力されます"Hello World!"

ここで私の質問は、require_onceメソッド内に含める場合、含まれるファイルはスクリプトのロード時にロードされるのか、それともメソッドが呼び出されたときにのみロードされるのかということです。そして、それがメソッドが呼び出されたときだけである場合、パフォーマンスに関して何らかの利点がありますか。または、すべてのコードを1つの大きなファイルに保存した場合と同じでしょうか。

API大量の呼び出しを処理するファイルを作成したので、主に質問していますが、ファイルを単純化するつもりはありません。(これは、個別のクラスを作成するだけで実行できることはわかっていますが、これを知っておくとよいと思いました)

(これがすでに尋ねられている場合は申し訳ありませんが、何を検索すればよいかわかりませんでした)

4

4 に答える 4

2

メソッドが呼び出されたときにのみ含まれますが、オートロードを見ましたか?

于 2012-03-02T22:49:41.127 に答える
1

1) メソッドが呼び出されたときのみ。

2)オンザフライでロードすることには目に見えない利点があると思います。そのため、PHP インタープリターは、使用されていない場合に余分なコードを解析する必要がありません。

于 2012-03-02T22:36:50.540 に答える
0

私は通常include('bar.php');を使用します。databvase情報を使用するときに使用します。ログイン情報を含むdatabase.phpというファイルがあり、ファイルが読み込まれるとすぐに呼び出されます。関数を呼び出す必要はありません。それは最も効果的で効率的ではないかもしれませんが、私にとってはうまくいきます。include_onceを使用することもできます...includeは基本的に必要な処理を実行し、コードを本質的にコピーします。

于 2012-03-03T00:35:33.340 に答える
0

他の人が言ったように、はい、それはジャストインタイムに含まれています。

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

インクルードされたファイルから値(つまり文字列)を返すことも、ob_start()などで出力をバッファリングすることもできることに注意してください。

于 2012-03-03T00:39:45.170 に答える