PHPファイルのインポート
更新日 : 2019年04月29日
今回はPHPファイルのインポートについてです。
PHPのコードも膨大な量になってくると、1つのファイルだけでは収拾がつかなくなってきます。
別のファイルとして作成した関数やクラスを、利用するべきPHPファイルで扱う為に、インポートを行い、コードを最適化していきましょう。
PHPファイルのインポート処理4種
別のファイルとして作成したPHPファイルをインポートする方法が4種類存在します。
それぞれの書式と動作について学び、使い分けられるようにしていきましょう。
require
include
require_once
include_once
基本的にはこの4つです。
require
まずはrequire
についてです。日本語にすると「必要とする」というような意味がありますね。書式は以下のようになります。
<?php
require(PHPファイルパス);
require PHPファイルパス;
//使用例
require("lib/utility.php");
require "lib/utility.php";
カッコに関してはあってもなくても大丈夫です。引数に使用したいPHPファイルパスを記述します。
include
続いてinclude
ですが、日本語で「組み込む」というような意味がありますね。書式は以下のようになります。
<?php
include(PHPファイルパス);
include PHPファイルパス;
//使用例
include("lib/utility.php");
include "lib/utility.php";
require
もinclude
も書式は大差ありません。
この2つの外部ファイルのインポート方法の差は、読み込み失敗時のエラー処理です。
require
はそのままの意味で、require
で必ず読み込む必要があるファイルに対して使用します。読み込み失敗時にはFatal Error(致命的エラー)となり、処理がその時点で停止します。
include
の使用時は、読み込み失敗時にはWarning(警告)となり、処理自体は停止せず、警告のみを出して続行します。
外部のPHPファイルを読み込む場合は、その読み込むファイルのコードを利用する場合がほとんどなので、基本的にはrequire
を利用することになるかと思います。
require_once
とinclude_once
最後に残りの2つを見ていきましょう。先程説明したrequire
とinclude
に_once
(一度)という文字が追加されています。
書式は以下のとおりです。
<?php
require_once("PHPファイルパス");
include_once("PHPファイルパス");
require_once "PHPファイルパス";
include_once "PHPファイルパス";
_once
がつくことにより、すでに読み込まれているファイルの場合、再度読み込まないようになります。
読み込み元ファイルで利用している変数データに変更がなかったり、再度読み込み直す必要がない場合はrequire_once
やinclude_once
を利用しましょう。
utility.phpを作成して読み込んでみる
よく使う機能郡をまとめたものをUtility(ユーティリティ)と言ったりします。
PHPでのHTMLエスケープの際に使用したhtmlspecialchars
関数を簡単に扱うようにする関数をUtility.php
に作成し、外部から読み込んで利用してみましょう。
utility.phpを作成
<?php
// HTMLエスケープ関数
function es($string) {
return htmlspecialchars($string, ENT_QUOTES, 'UTF-8');
}
これで、utility.php
を読み込んだPHPファイルでは、es
関数を利用して簡単にHTMLエスケープすることができます。
実際に読み込んで、es
関数が利用できるかどうか確かめてみましょう。
<?php
require_once("utility.php");
echo es("<h1>HTMLエスケープテスト</h1>");
きちんとHTMLエスケープできていればOKです。
まとめ
外部PHPファイルの読み込み4種類を説明しました。
これから先ユーティリティだけではなく、オブジェクト指向で学んだクラスなども外部PHPファイルから読み込むことが多くなっていきます。
その際に、どこにコードとして書かれている機能なのかをしっかり把握するためにも、この4つの使い方をしっかり理解しておきましょう。
タグ
-
前の記事
PHPでのセッションの利用