PHPでライブラリや他ファイルを読み込むrequire関数について理解を試みてみた

はじめに

初心者がPHPの勉強をしたのでアウトプットしていく。
とにかく最速でアプリを作るための勉強なので、作りたいものに特化したアウトプットになる。
今回はライブラリや他のPHPファイルを読み込むrequire関数について。

require関数とは

外部ファイルを読み込む関数。
この関数を使用することで、機能や処理をファイルごとに分けることができる。
これによりソースの管理を楽にし、可読性を上がることができる。

実際に使ってみる

<!-- test.php -->
<?php
$book = '阿房列車';
?>


<!-- test_1.php -->
<?php
require 'test.php';
echo $book;
?>

test.php$bookに格納した「阿房列車」をtest_1.phpで取り出すことができた。

関数の再定義や変数の再代入を防ぎたい時はrequire_once

似たような機能を持つrequire_once関数がある。
この関数も同じように外部ファイルを読み込む関数だが、こちらは外部ファイルがすでに読み込まれているかチェックを行う特徴がある。

実際に使ってみる

<!-- test.php -->
<?php
$book = '阿房列車';
?>


<!-- test_1.php -->
<?php
require_once 'test.php';
echo $book . '<br>';

$book = '百鬼園随筆';
echo $book . '<br>';

// 2回目なので読み込まれない
require_once 'test.php';
echo $book . '<br>';
?>

結果、

阿房列車
百鬼園随筆
百鬼園随筆

最後の読み込みは行われていないので、2回目と3回目の$bookは同一になる。

include関数について

最後に、require関数と同じような使い方をするinclude関数について。
書き方は異なるが使い方は基本的に同じもの。
決定的な違いはrequire関数は外部ファイルの読み込みに失敗すると致命的なエラーが発生し処理が止まる。
対してinclude関数は外部ファイルの読み込みに失敗すると、警告が発生し処理は実行される。