今回はPHPファイルのインポートについてです。 PHPのコードも膨大な量になってくると、1つのファイルだけでは収拾がつかなくなってきます。 別のファイルとして作成した関数やクラスを、利用するべきPHPファイルで扱う為に、インポートを行い、コードを最適化していきましょう。

PHPファイルのインポート

3年以上前に更新されました。情報が古い可能性があります。
更新日 : 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";

requireincludeも書式は大差ありません。

この2つの外部ファイルのインポート方法の差は、読み込み失敗時のエラー処理です。

requireはそのままの意味で、requireで必ず読み込む必要があるファイルに対して使用します。読み込み失敗時にはFatal Error(致命的エラー)となり、処理がその時点で停止します。

includeの使用時は、読み込み失敗時にはWarning(警告)となり、処理自体は停止せず、警告のみを出して続行します。

外部のPHPファイルを読み込む場合は、その読み込むファイルのコードを利用する場合がほとんどなので、基本的にはrequireを利用することになるかと思います。

require_onceinclude_once

最後に残りの2つを見ていきましょう。先程説明したrequireinclude_once(一度)という文字が追加されています。

書式は以下のとおりです。

<?php

require_once("PHPファイルパス");
include_once("PHPファイルパス");

require_once "PHPファイルパス";
include_once "PHPファイルパス";

_onceがつくことにより、すでに読み込まれているファイルの場合、再度読み込まないようになります。

読み込み元ファイルで利用している変数データに変更がなかったり、再度読み込み直す必要がない場合はrequire_onceinclude_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つの使い方をしっかり理解しておきましょう。


タグ