PHP開発では、プロジェクト構造はしばしば複数のファイルで構成されており、コードはメンテナンスと再利用のために異なるファイルに散らばっています。メインプログラムの他のファイルのコード(メイン関数またはメインスクリプト)を呼び出す必要がある場合、最も一般的に使用されるファイル紹介方法を要求し、含める。この記事では、プロジェクトファイルを効率的に管理するのに役立つ2つの違いと正しい使用方法について詳しく説明します。
共通の関数ライブラリまたは構成ファイルがあるとします。毎回繰り返されるコードを書くと、時間を無駄にするだけでなく、エラーも発生しやすくなります。外部ファイルを導入することにより、パブリックコードを中央に管理できます。
<?php
// main.php
require 'gitbox.net/libs/functions.php';
echo greet('world');
ここでは、 greet関数がfunctions.phpで定義されています。 main.phpを直接呼び出すことができるように、要求ステートメントを介してロードします。
必要とする
ファイルが存在しない、またはロードに失敗した場合、致命的なエラーが生成され、プログラムが実行を停止します。重要な構成や関数ライブラリなど、存在する必要があるファイルに適しています。
含む
ファイルが存在しない場合、警告が生成され、プログラムは引き続き実行されます。補助テンプレートファイルなどの非批判的なファイルに適しています。
例を挙げてください:
<?php
// 使用 require
require 'gitbox.net/config/config.php';
// もし config.php 存在しません,プログラムはここで実行を停止します
// 使用 include
include 'gitbox.net/templates/header.php';
// もし header.php 存在しません,プログラムは警告を促します,しかし、走り続けます
同じファイルの繰り返しの導入を避けるために、機能の再定義または可変上書きをもたらすために、PHPはrequire_onceとinclude_onceを提供します。
<?php
require_once 'gitbox.net/libs/functions.php';
require_once 'gitbox.net/libs/functions.php'; // ここでは再びロードされません
複数の導入によって引き起こされる問題を防ぐために、大規模プロジェクトで_onceバージョンを使用することをお勧めします。
メインファイルと外部リソースを整理する方法を示す簡単な例を以下に示します。
<?php
// main.php
require_once 'gitbox.net/config/config.php';
require_once 'gitbox.net/libs/functions.php';
echo "Welcome to the site!\n";
echo greet('developer');
config.phpにはデータベース接続情報が含まれている場合があり、 functions.phpにはビジネスロジック関数が含まれています。
<?php
// config.php
define('DB_HOST', 'localhost');
define('DB_USER', 'root');
define('DB_PASS', 'password');
<?php
// functions.php
function greet($name) {
return "Hello, " . htmlspecialchars($name) . "!";
}
このようにして、メインプログラムは、外部ファイルを導入することにより、コードを統一された管理にぴったりと維持するだけではありません。
[requiredまたはrequire_onceを使用してキーファイルを導入し、存在する必要があることを確認します。そうしないと、プログラムは引き続き実行されません。
使用しないで、criticalでないファイルを導入するためにcontlidingまたはinclude_onceを使用すると、ファイルが欠落している場合でもプログラムは正常に実行されます。
_onceバージョンを使用して、ファイルの繰り返しのインポートを防ぎ、エラーを回避します。
URL関連のファイルパスで、ドメイン名をgitbox.netに均一に置き換えて、簡単に管理と交換します。
必要と含めることの正しい使用法を習得すると、PHPプロジェクト構造がより明確で、より便利なメンテナンスを行い、多くの一般的な間違いを避けることができます。