外部ファイルの読み込み!PHPのrequire文の使い方【初心者向け】現役エンジニアが解説

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

TechAcademyマガジンは受講者数No.1のオンラインプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。

監修してくれたメンター

nakamoto

アジマッチ有限会社 代表取締役
対応業務:PHP(Laravel)、機械学習、Vue.js、LAMP・AWS、越境EC、スマホアプリ、Unity、Rails、スマートコントラクト、講師、執筆、CTO

PHPで書くrequire文の使い方について、テックアカデミーのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

外部ファイルを読み込む際に知っておきたい知識でしょう。

include文と動作は同じですが、require文では、ファイルが無い場合に処理を停止することが可能です。

実務でもrequire文を利用してライブラリを読み込むので、実際にソースコードを書きながら覚えていきましょう。

目次

そもそもPHPについてよく分からないという方は、PHPとは何なのか解説した記事を読むとさらに理解が深まります。

 

大石ゆかり

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

田島悠介

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

大石ゆかり

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

田島悠介

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

大石ゆかり

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

 

requireとは

PHPにおけるrequireとは、「外部ファイルを読み込み、実行したい」ときに使われる文です。

プログラムを単一のファイルで書いていくと膨大な行数になり、コードが書きづらくなったりバグを発見しづらくなったりします。

そのため、ファイルを分けて書くことが重要になります。

ファイルを分け分けた際に使われるのがrequire文です。

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

 

require文の書き方

require文の書き方はrequireの後に、phpファイル名を指定します。

 

同じディレクトリの場合

ファイルのパスは、指定したファイルの位置(ディレクトリ)を示す値です。

ファイル名に関しては、実行するphpファイルと同じディレクトリにある場合はファイル名だけを指定すればよいです。

具体的には、次の2種類の書き方があります。

 

()で囲まない方法

require "ファイルのパス";

“ファイルのパス”で指定したファイルをrequireします。

()で囲む方法

require("ファイルのパス");

(“ファイルのパス”)で指定したファイルをrequireします。

 

異なるディレクトリの場合

異なるディレクトリにファイルがある場合は、呼び出すファイルから、読み込むファイルへ正しくパスの指定を行う必要があります。

 

実行ファイル

test.phpが実行ファイルです。

実行したいtest.phpファイルがuserディレクトリにある場合を示しています。

test.phpのファイル位置を示す内容がパスです。

/home/user/test.php

 

読み込むファイル

test.phpと同じuserディレクトリの中にある、libディレクトリの中にtest2.phpが存在します。

/home/user/lib/test2.php

 

読み込む処理

test.phpからtest2.phpと同じuserディレクトリ内のlibディレクトリ以降を指定することで、test2.phpを読み込むことが可能です。

require "lib/test2.php";

 

require_once文

requireの処理と同様ですが、1回しか処理を読み込まないrequire_onceがあります。

require_onceでは、ファイルが読み込み済みかをチェックし、読み込み済みの場合は再度ファイルを読み込みません。

require_onceを利用場合は、処理時に同じファイルが複数回読み込まれ、関数の再定義や変数の再代入の可能性を回避する目的で利用します。

 

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

実際に書いてみよう

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

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

 

サンプルコード(test.php)

<?php
//requireでtest2.phpを呼び出した瞬間に「オンラインプログラミングスクールは」が表示されます。
require("./testlib/test2.php");
// test2.phpで定義しているrun関数を呼び出すことができます。
run();

 

解説(test.php)

<?phpでは、PHPプログラムが開始されることを意味します。

require(“./testlib/test2.php”);では、test.phpからみた時に、同じディレクトリにあるtestlibディレクトリの中にある、test2.phpを読み込む指定をしています。

run();では、test2.phpにあるrun関数を実行しています。

 

サンプルコード(test2.php)

<?php
// test2.phpで呼び出されたときに笑います。
print("オンラインプログラミングスクールは\n");
// test2.phpでrun関数を呼び出すと走ります。
function run(){
    print("テックアカデミーがおすすめ!");
}

 

解説(test2.php)

<?phpでは、PHPプログラムが開始されることを意味します。

print(“オンラインプログラミングスクールは\n”);では、オンラインプログラミングスクールはという文字列と、改行である\nを準備して、print関数で表示しています。

function run(){では、run関数を宣言しています。

print(“テックアカデミーがおすすめ!”);では、テックアカデミーがおすすめ!という文字列をprint関数で表示しています。

}では、run関数の宣言を終了しています。

require文で呼び出した瞬間にtest2.phpが実行されました。

つまり、test2.phpで書かれていたprint文が実行され、test2.phpで定義されていたrun関数を実行することができました。

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

 

表示結果

 

おわりに

今回はrequre文を解説しました。

  • require文の役割
  • require文の書き方
  • 同一ディレクトリと異なるディレクトリによるファイルパスの指定方法

それぞれの役割と基本的な使用方法を理解すると、PHPの理解につながります。

require文と似ているinclude文に関しては、PHPでinclude文を使う方法 を参考にしてみてください。

 

田島悠介

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

大石ゆかり

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

田島悠介

まさに!!

 

この記事を監修してくれた方

中本賢吾(なかもとけんご)
アジマッチ有限会社 代表取締役社長

開発実績:PHPフレームワークによるフランチャイズ企業向け会員制SNS。Shopifyによる海外進出用大規模ネットショップ構築。Vue.jsによる金融機関向け内部アプリ。AWSやLinuxハウジングサーバーでの環境構築。人工知能を利用した画像判別システム。小売チェーン店舗用スマホアプリ。Wordpressによる不動産チェーン店向け賃貸・売買仲介システム。基幹システム移管用データコンバートシステム。小学生がUnityでオリジナルAndroidアプリをGooglePlayでリリース、NHK Whyプログラミング入賞、全国Programing Festival入賞、中学生がノーコードでSNS型PWAアプリリリースなど、ボランティアプログラミング教育活動行っている。

 

PHPを学習中の方へ

これで解説は終了です、お疲れさまでした。

  • つまずかず「効率的に」学びたい
  • 副業や転職後の「現場で使える」知識やスキルを身につけたい

プログラミングを学習していて、このように思ったことはありませんか?

テックアカデミーのPHP/Laravelコースでは、第一線で活躍する「プロのエンジニア」が教えているので、効率的に実践的なスキルを完全オンラインでしっかり習得できます。

合格率10%の選考を通過した、選ばれたエンジニアの手厚いサポートを受けながら、PHP/Laravelを使ったWebアプリケーション開発を学べます。

まずは一度、無料体験で学習の悩みや今後のキャリアについて話してみて、「現役エンジニアから教わること」を実感してみてください。

時間がない方、深く知ってから体験してみたい方は、今スグ見られる説明動画から先に視聴することをおすすめします!