PHP 開発の基本チュートリアル ファイルには次のものが含まれます

1. ファイルインクルードの概要

実際の開発では、プログラム内の共通コードをファイルに入れる必要がある場合が多く、これらのコードを使用するファイルはこのファイルをインクルードするだけで済みます。この方法はコードの再利用性を向上させ、コードの作成とメンテナンスに大きな利便性をもたらします。 PHP には、ファイルをインクルードするためのメソッドとして、require、require_once、include、および include-once の 4 つがあります。

それらの違いを比較してみましょう:

33.png


注:
1. 検出作業を行うためにより多くのリソースを消費するため、_once を 1 回少なく使用します。

2番目と4つのメソッド関数の紹介

注: 学生はテストのためにコードをローカルにコピーすることをお勧めします

1.phpファイルを作成し、その中に2つの関数を記述します:

<?php
//functions.php文件
function demo(){
    echo 'aaaa';
}
function test(){
    echo 'cccdddd';
}
?>

上記の php ファイルと同じディレクトリに、1.php ファイルをインクルードする別の 2.php ファイルを作成しました。このようにして、関数を 1.php に具体的に配置できます。これらの関数が必要な場合は、そこからインクルードします。

<?php

include '1.php';
//可以直接调用
demo();
test();
?>

上記の例で include の関数を理解しました。次に、include と require を比較します。

コードでは、最初に include を使用して存在しない test.php ファイルを組み込みます。

<?php

include '1.php';
include 'test.php';
//可以直接调用
demo();
test();
?>

ローカル出力結果:

34.png

次に、require を使用して非存在の test.php ファイルを組み込みます。存在するテスト.php ファイル:

35.png

上記の例の比較により、次のことがわかりました:

  • test.php ファイルに include が含まれていない場合、デモの実行を続行するように警告が発行されます。 ) および test() 関数。

  • そして、require はエラーを直接報告し、demo() 関数と test() 関数は実行を続行できません。

表からわかること: include と include_once の違いは、繰り返しインクルードされるかどうかを検出することです。 include_once が繰り返しインクルードされると、対応するファイルはインクルードされなくなりますが、include はこれを気にしません。ファイルがインポートされているかどうかに関係なく、再度インポートしてください。

今、同じ 2.php を試してみましょう。include と include_once をそれぞれ使用して、functions.php を 2 回インクルードします。

上の図のプロンプトは、関数demo()を再定義できないことを示しています。

関数定義の章で、関数は 2 回定義できないと述べました。定義しないとエラーが報告されます。 3_1.phpを2回インクルードしたため、2回実行されてしまい、このエラーが報告されました。

include_once がエラーを報告しない理由は、functions.php が以前にインクルードされ、現在はインクルードされていないことを検出するためです。

require と require_once の関数について、あなたの最も賢い小さな頭を使って推測できるでしょうか? require_once には 2 つの特徴があります:

1. インクルードされたファイルが存在する必要があります。そうでない場合は実行が停止します

新しい学習:

include ではエラー警告が発生しますが、実行は続行されます。 Require はエラーが発生すると警告を発し、それ以上実行されません。include と include_once の違いは、繰り返しインクルードされるかどうかを検出することです。 include_once が繰り返しインクルードされると、対応するファイルはインクルードされなくなりますが、include はこれを気にしません。
学び続ける
||
<?php //functions.php文件 function demo(){ echo 'aaaa'; } function test(){ echo 'cccdddd'; } ?>
  • おすすめコース
  • コースウェアのダウンロード
現時点ではコースウェアはダウンロードできません。現在スタッフが整理中です。今後もこのコースにもっと注目してください〜