、、の中include
でinclude_once
、私はいつもただ使用しrequire
ます。多くのサードパーティフレームワークも同様に使用します。require_once
require_once
require_once
別の構成を使用する必要があるという実際のシナリオを誰かが説明できますか?
、、の中include
でinclude_once
、私はいつもただ使用しrequire
ます。多くのサードパーティフレームワークも同様に使用します。require_once
require_once
require_once
別の構成を使用する必要があるという実際のシナリオを誰かが説明できますか?
IMHO there is no real scenario that fits include
and include_once
because of two reasons:
include
will emit a warning which is bad style (zero-warning code is a good thing to strive for). You can prevent this most of the time with a check like is_file
, but then you know that the file does exist so why not require
it?For require
vs require_once
: if a file can legitimately be parsed more than once (e.g. an HTML template) use the former. If it brings code inside your application (the vast majority of cases) use the latter.
The require_once()
ステートメントは、require()
PHPがファイルがすでにインクルードされているかどうかをチェックし、インクルードされている場合は再度インクルード(必須)しないことを除いて、同じです。
require()
関数は、エラーの処理方法が異なることを除いて、と同じですinclude()
。エラーが発生した場合、include()関数は警告を生成しますが、スクリプトは実行を継続します。はrequire()
致命的なエラーを生成し、スクリプトは停止します。
include/require
andステートメントの唯一の違いはinclude_once/require_once
、特定のファイルが実際にロードされる回数です。ステートメントを使用する場合include_once/require_once
、ファイルを複数回ロードまたは実行することはできません。これらの2つの方法のいずれかを使用してファイルを2回ロードしようとすると、そのファイルは無視されます。スクリプト内で同じ関数を複数回定義することは許可されていないため、これらの関数を使用すると、開発者は、スクリプトが以前にロードされているかどうかを確認しなくても、必要に応じてスクリプトを含めることができます。
<?php
include ('library.inc');
$leap = is_leapyear(2003);
require ('library.inc');
$leap = is_leapyear(2003);
?>
両方のステートメントで現在のスクリプトが別のファイルでコードを実行できる場合、2つの違いは何ですか?
2つの大きな違いがあります。
1つは値を返す機能で、もう1つは要求されたファイルがロードされる状況です。ステートメントが使用されると、PHPは、スクリプトがステートメントを実行するポイントに到達し、ステートメントをファイルの内容に置き換える
include
まで、要求されたファイルの実際のロードを遅らせます。逆に、ステートメントの場合、ステートメント(したがってファイルの内容)がスクリプトの通常の進行で実行されたかどうかに関係なく、ステートメントは要求されたファイルの内容に置き換えられます。include
include
require
require
require
上記の段落からの引用
http://82.157.70.109/mirrorbooks/php5/067232511X/ch01lev1sec8.html
ノート
The capability to return values from external files is limited only to the include and include_once
statements. The require and require_once
statements cannot be used in this fashion.
require
give Fatal error
but include
give Warning
include構文は、ファイルが見つからない場合に警告を発します。これは、致命的なレベルのエラー を発行するrequireとは異なる動作です。E_COMPILE_ERROR
include_once
同じ違いがとにも当てはまりますrequire_once
。
includeを使用する場合とrequireを使用する場合、 require、include、require_onceの違いに対する回答で非常によく説明されていますか?
私の観点からすると、2つのことがあります。
require
/を使用require_once
してそのような定義を含める必要があります。そうすれば、警告の代わりに致命的なエラーが発生し、開発中に問題のあるコードを簡単に見つけることができます。include
/に含める必要があります。include_once
@