require文は、外部ファイルを読み込む制御構文。
外部ファイルのパスを指定しないときは、「php.ini」ディレクティブの「include_path」に設定したパスを使用する。「include_path」に見つからないときは、呼び出し元のスクリプトのディレクトリや作業ディレクトリを探す。
外部ファイルが見つからないと、「重大な実行時エラー」を意味する「E_ERROR」を発行し、スクリプトの実行自体を中断する。これに対し、include文は、「実行時の警告」を意味する「WARNING」を発行し、スクリプトの実行自体は中断しない。
require文で読み込んだスクリプト内で、return文を使うと、require文で読み込んだスクリプトの実行を停止し、return
の引数は、require文で読み込んだスクリプトの戻り値となる。
使い方
丸括弧なし
require 'ファイル名';
「ファイル名」の外部ファイルを読み込む。
丸括弧あり
require ( 'ファイル名' );
「ファイル名」の外部ファイルを読み込む。
サンプル
return文なし、丸括弧なし
return文のないPHPファイル「noreturn.php」を、「sample.php」から、丸括弧なしのrequire文で読み込むサンプル。
noreturn.php
return文のないPHPファイル。
<?php
$varA = 'こんにちは♪';
?>
$varA = 'こんにちは♪';
?>
sample.php
<?php
$varB = require 'noreturn.php';
echo '<p>$varA: ' . $varA . '</p>';
echo '<p>$varB: ' . $varB . '</p>';
?>
$varB = require 'noreturn.php';
echo '<p>$varA: ' . $varA . '</p>';
echo '<p>$varB: ' . $varB . '</p>';
?>
↓↓↓出力結果↓↓↓
$varA: こんにちは♪
$varB: 1
$varB: 1
return文なし、丸括弧あり
return文のないPHPファイル「noreturn.php」を、「sample.php」から、丸括弧ありのrequire文で読み込むサンプル。
noreturn.php
return文のあるPHPファイル。
<?php
$varA = 'こんにちは♪';
?>
$varA = 'こんにちは♪';
?>
sample.php
<?php
$varB = require ( 'noreturn.php' );
echo '<p>$varA: ' . $varA . '</p>';
echo '<p>$varB: ' . $varB . '</p>';
?>
$varB = require ( 'noreturn.php' );
echo '<p>$varA: ' . $varA . '</p>';
echo '<p>$varB: ' . $varB . '</p>';
?>
↓↓↓出力結果↓↓↓
$varA: こんにちは♪
$varB: 1
$varB: 1
return文あり、丸括弧なし
return文のあるPHPファイル「return.php」を、「sample.php」から、丸括弧なしのrequire文で読み込むサンプル。
return.php
return文のあるPHPファイル。
<?php
$varA = 'こんにちは♪';
return $varA;
?>
$varA = 'こんにちは♪';
return $varA;
?>
sample.php
<?php
$varB = require 'return.php';
echo '<p>$varA: ' . $varA . '</p>';
echo '<p>$varB: ' . $varB . '</p>';
?>
$varB = require 'return.php';
echo '<p>$varA: ' . $varA . '</p>';
echo '<p>$varB: ' . $varB . '</p>';
?>
↓↓↓出力結果↓↓↓
$varA: こんにちは♪
$varB: こんにちは♪
$varB: こんにちは♪