PHP

【PHPの基礎】require関数をマスターしよう! include関数との違いも解説します!

今回解決できる内容!

✔️requireとは?

✔️requireの使い方は?

✔️requireとincludeの違い

今回はrequire関数について学びましょう。

関数の基礎は下記の記事を参考にして下さい!

関数
【PHPの基礎】関数をマスターしよう! 今回解決できる内容! ✔️関数とはなんだろう? ✔️関数の使い方は? ...

独学がつらくなった方は下記をご覧ください!

>>【初心者必見!】無料体験ができるプログラミングスクールをご紹介!

【基礎編】require関数とは

システム構築の際に同じ処理を何度も書き込む場合、手間であり、修正の際に数が多いとリスクがあるなどの問題が発生します。そのような時に使用するのが、requireという命令です。

requireは外部ファイルの読み込みを実行することができます

1つのファイルに共通するコードを書き込み、それを読み込むことができるので、効率的にコード作成ができます

下記のように記述します!

require '読み込みを実行するファイル名' ;

ファイルを囲うのは、シングルクォーテーションでもダブルクォーテーションでもどちらでも大丈夫です!

【基礎編】require関数を使ってみよう

次は実際に使用してみましょう!

<?php

echo '私はサラリーマンプログラマーです';
echo '<br>';
require 'test2.php';

?>

<?php

echo '年齢は27歳です';

?>

ブラウザでtest.phpを起動した実行結果は下記の通りです。

【応用編】requireとincludeの違い

外部ファイルの読み込みのやり方としてrequireの他にincludeというやり方もあります

また、それぞれ語尾に「_once」が付いて、require_once、include_onceもあります。

それぞれの違いは下記の通りです。

require:指定したファイルの読み込みに失敗した場合は処理を中止

 

include:指定したファイルの読み込みに失敗した場合でも処理を継続


require_once:同じファイルが既に読み込まれている場合はrequireを行わない


include_once:同じファイルが既に読み込まれている場合はincludeを行わない

実際に使い方を確認してみましょう!

requireとincludeを比べてみよう!

requireとincludeをそれぞれ比べてみましょう!

まずはrequireで読み込んでみましょう。

誤ったファイルを読み込んだ際の動作を確認します。

<?php

require 'a.php';

echo 'ファイルの読み込みをしました';

?>

結果は下記の通りです。

requireは存在しないファイルを読み込んだ場合、読み込み処理はエラーによって停止され、その後の処理もすべて停止されることがわかります。つまり、echoの処理はされません。

続いてincludeを読み込んでみましょう!

<?php

include 'a.php';

echo 'ファイルの読み込みをしました';

?>

結果は下記の通りです。

includeは指定されたファイルが読み込めない場合、Warningのように警告はでますが、その先の処理はそのまま行われます。その為、’ファイルの読み込みをしました’も実行されます。

requireとrequire_onceを比べてみよう!

次はrequireとrequire_onceを比べてみましょう!

<?php

$name='サラプロ';

?>

<?php

$name_once='サラプロ';

?>

それぞれファイルを作成します。

require,require_onceでファイルを読み込み、その後変数の値を変更して再度それぞれのやり方で読み込み直してみます。

<?php

require 'require.php';
echo $name;
echo '<br>';

require_once 'require_once.php';
echo $name_once;
echo '<br>';

$name='佐藤';
$name_once='佐藤';

require 'require.php';
echo $name;
echo '<br>';

require_once 'require_once.php';
echo $name_once;


 ?>

結果下記の通りです。

2回目のrequireでは、通常通りファイルの読み込みが行われて変数の値が再度変更されます。

2回目のrequire_onceでは、同じファイルが1度読み込まれている為、ファイルは読み込まれず変数の値は変更されません。つまり$name_once=’佐藤’が有効になり、’佐藤’がechoされます。

独学でツラくなった方へ

まとめ

今回解説した内容

✅requireの使い方

✅requireとincludeの違い

✅require_once、include_onceの使い方

今回は以上になります。

require関数は実際の開発でも大変よく使われる関数です。これを機に是非マスターしましょう!