外部ファイルの読み込み!PHPのrequire文の使い方【初心者向け】

プログラミング初心者向けにPHPで書くrequire文の使い方について解説しています。外部ファイルをPHPファイルに読み込む際に便利な知識なので、ぜひ書きながら覚えていきましょう。すぐに理解できるはずです。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

PHPで書くrequire文の使い方を解説しています。

外部ファイルを読み込む際に知っておきたい知識でしょう。include文と動作は同じですが、require文では、ファイルが無い場合に処理を停止することが可能です。

実際にソースコードを書きながら覚えていきましょう。

 

なお本記事は、TechAcademyのPHPオンライン講座の内容をもとにしています。

 

大石ゆかり

田島メンター!Webサイトのヘッダーとかフッターとかって大体同じだと思うんですけど、ああいうのって毎回書かないといけないんですか?

田島悠介

よく使うものは1つのファイルに入れておいて、使いまわせるんだよ!

大石ゆかり

それはどうやってやるんですか?

田島悠介

じゃあ、require文っていうのを使って簡単に解説してみるね!

大石ゆかり

わぁ〜ありがとうございますっ!

 

requireとは

PHPにおけるrequireとは、「外部ファイルを読み込み、実行したい」ときに使われる文です。プログラムを単一のファイルで書いていくと膨大な行数になり、コードが書きづらくなったりバグを発見しづらくなったりします。

そのため、ファイルを分けて書くことが重要になります。その時に使われるのがrequire文です。

また、他の人が作成したソースコードを読み込む際にも使われます。

 

require文の書き方

require文の書き方は

require "phpファイル";

もしくは

require("phpファイル");

のどちらでも書くことができます。

またファイル名に関しては、実行するphpファイルと同じディレクトリにある場合は単純にファイル名を指定します。

異なるディレクトリ、例えば

/home/user/test.php

を実行するとして

/home/user/lib/test2.php

を呼び出したいときには

require "lib/test2.php";

とrequire文を使うことで、test2.phpを呼び出すことができます。

 

[PR] PHPのプログラミングで挫折しない学習方法を動画で公開中

実際に書いてみよう

では、実際にプログラムを書いてみましょう。

ここでは/home/user/ディレクトリにあるtest.phpから、/home/user/lib/test2.php を呼び出して実行するプログラムを書いてみることにします。

まず、test2.phpプログラムを次のように書きます。

lib/test2.php
------------------------------------------
<?php
// test2.phpで呼び出されたときに笑います。
print("わっはっは\n");
// test2.phpでrun関数を呼び出すと走ります。
function run(){
 print("シュタタタ\n");
}
?>
-----------------------------------------

次に、test.phpを書きます。

test.php
-----------------------------------------
<?php
//requireでtest2.phpを呼び出した瞬間に「ワッハッハ」が表示されます。
require("testlib/test2.php");
// test2.phpで定義しているrun関数を呼び出すことができます。
run();
?>
-----------------------------------------

 

以下、実行結果です。

実行結果
-----------------------------------------
わっはっは
シュタタタ
-----------------------------------------

 

おわりに

無事、require文で呼び出した瞬間にtest2.phpが実行されたためにtest2.phpで書かれていたprint文が実行され、その後test2.phpで定義されていたrun関数を実行することができました。

外部ファイルを読み込む際に便利なので、ぜひ使い方を覚えておきましょう。
 

田島悠介

どう?なんとなくイメージできた?

大石ゆかり

htmlのheadとかmetaとかの記述も大体一緒なので、使いまわせるってことですよね!?

田島悠介

まさに!!

 

また、PHPを勉強していて、

  • もっと効率的に勉強したい
  • 誰かに聞きながら学びたい
  • 自分でWebサービスを作りたい

と思ったことはないでしょうか。

 

そんな方のために、TechAcademyではオンラインブートキャンプPHP/Laravelコースを提供しています。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間でオリジナルWebサービスを開発することが可能です。

独学に限界を感じている場合はご検討ください。