PHP の include と require についてまだ知りませんか? この記事をご覧ください。
この記事では、PHP の include と require について詳しく紹介し、誰でも include と require を徹底的に理解できるようにします。
PHP では、外部ファイルをインクルードする方法として、include と require の 2 つがあります。それらの違いは何ですか?
ファイルが存在しない場合、またはエラーが発生した場合、require は E_COMPILE_ERROR レベルのエラーを生成し、プログラムの実行が停止します。インクルードは警告のみを生成し、スクリプトは実行を続行します。
これがそれらの主な違いであり、他の点では、require は基本的に include と同じです。
- インクルードされたファイルは、最初にパラメータで指定されたパスに従って検索され、ディレクトリが指定されていない場合 (ファイル名のみ)、include_path で指定されたディレクトリに従って検索されます。ファイルが include_path の下に見つからない場合、include は最終的に、呼び出し元のスクリプト ファイルが配置されているディレクトリと現在の作業ディレクトリを検索します。
- include_path は php.ini で定義されています
- ファイルがインクルードされると、それに含まれるコードは次の行の変数スコープを継承します。インクルードが見つかりました。その時点から、呼び出し側ファイルのその行で使用可能な変数は、呼び出されたファイルでも使用できるようになります。ただし、インクルード ファイルで定義されたすべての関数とクラスはグローバル スコープを持ちます。
- #通常の require と include に加えて、require_once と include_once もあります。それらの関数は次のとおりです:
ファイルが既にインクルードされている場合、再度インクルードされることはありません。このステートメントの名前が示すように、スクリプトの実行中に同じファイルが複数回インクルードされる可能性があり、それを避けるために必ず 1 回だけインクルードする必要がある場合に、only include Once
- を使用できます。関数の再定義、変数の再割り当て、その他の問題
- いくつかの例を見てみましょう:
// a.php 不存在 include "a.php"; // warning // require "a.php"; // error echo 111; // 使用include时111会输出 // file1.php 中只有一行代码echo 'file1'; require_once 'includeandrequire/file1.php'; // file1 require_once 'includeandrequire/file1.php'; // noting include_once 'includeandrequire/file1.php'; // noting include_once 'includeandrequire/file1.php'; // noting require 'includeandrequire/file1.php'; // file1 require 'includeandrequire/file1.php'; // file1 require 'includeandrequire/file1.php'; // file1 require 'includeandrequire/file1.php'; // file1
file2.php <?php echo 'file2:' . $a, PHP_EOL; echo 'file2:' . $b, PHP_EOL; $b = "file2"; myFile.php <?php $a = 'myFile'; $b = 'youFile'; require_once 'includeandrequire/file2.php'; echo $a, PHP_EOL; echo $b, PHP_EOL; // 输出结果 // file2:myFile // file2:youFile // myFile // file2 file3.php <?php $c = 'file3'; myFile.php <?php function test(){ require_once 'includeandrequire/file3.php'; echo $c, PHP_EOL; // file3 } test(); echo $c, PHP_EOL; // empty
function foo(){ require_once 'includeandrequire/file3.php'; return $c; } for($a=1;$a<=5;$a++){ echo foo(), PHP_EOL; } // file3 // empty // empty // empty // empty
c がありません。デフォルト値は空です。
2 つのメソッドで _once を使用してファイルが同時にロードされた場合、2 番目のメソッドでもそのファイルがロードされますか?
function test1(){ require_once 'includeandrequire/file1.php'; } function test2(){ require_once 'includeandrequire/file1.php'; } test1(); // file1 test2(); // empty
効率の面では、_once はファイルがロードされているかどうかを確認する必要があります。効率は低くなりますが、絶対的なものではありません。肉眼では見えない場合もあるため、その効率は低くなります。問題は無視して構いません。そして、_once を使用しない場合よりもはるかに多くのメリットをもたらします。
- 事前エラーの原則に基づいて、require_once を使用する方が良いでしょう。警告を表示しないように PHP エラー レベルを調整すると、 include の警告情報が表示されなくなり、予期しないエラーが発生するためです。このファイルは複数のクラスまたはメソッドで使用する必要があります。_once を使用すると、同じファイルを後続のメソッドでロードできなくなる可能性があります。 require または include を使用する場合は、括弧を使用しないことをお勧めします。 include ('xxx.php'); などを使用します。これらはシステム メソッドではなく式キーワードであるため、 include 'xxx.php'
- include および require ファイルを直接使用できます。 return が存在する場合は、変数を使用して returnun によって返されたデータを受け取ることができます。さらに、次のように、PHP 以外のファイルやリモート ファイルをロードすることもできます (リモート ロードでは、php.ini のallow_url_include が On であることを確認する必要があります)。 ##
file4.php <?php return 'file4'; file4.txt 可以吧 myFile.php <?php $v = require 'includeandrequire/file4.php'; echo $v, PHP_EOL; // file4 include 'includeandrequire/file4.txt'; // 可以吧 include 'https://www.baidu.com/index.html'; // 百度首页的html代码
ログイン後にコピーこれで、 include と require についての理解が非常に深まりました。ファイルをロードするこれら 2 つの方法は複雑ではありませんが、いくつかの落とし穴にもなりがちです。特に _once がメソッドで使用されている場合は、特別な注意が必要です。それに対して支払わなければなりません。最後に、小さな利点として、ディレクトリ内のすべてのファイルを一度にロードするメソッドをカプセル化します: function include_all_once ($pattern) { foreach (glob($pattern) as $file) { require $file; } } include_all_once('includeandrequire/*');
ログイン後にコピー推奨学習: "测试代码:https://github.com/zhangyue0503/dev-blog/blob/master/php/201911/source/%E5%BD%BB%E5%BA%95%E6%90%9E%E6%98%8E%E7%99%BDPHP%E4%B8%AD%E7%9A%84include%E5%92%8Crequire.php
ログイン後にコピー
"
以上がPHP の include と require についてまだ知りませんか? この記事をご覧ください。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています
