PHPのincludeとrequireの違い


「2.6外部コードの読み込み」からのメモ。


PHPには外部コードを読み込む方法はincludeとrequireの2つの方法があります。それぞれの違いは指定されたファイルが無い場合の挙動の違いです。

  • includeは警告を発生させ、実行は続けられる
  • requireはエラーを発生させ、実行を停止する
<?php
include "hoge.inc";
echo "hello\n";
?>
PHP Warning:  include(hoge.inc): failed to open stream: No such file or directory in /home/h13i32maru/php/2.6_include.php on line 3
PHP Warning:  include(): Failed opening 'hoge.inc' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /home/h13i32maru/php/2.6_include.php on line 3
hello
<?php
require "hoge.inc";
echo "hello\n";
?>
PHP Warning:  require(hoge.inc): failed to open stream: No such file or directory in /home/h13i32maru/php/2.6_require.php on line 3
PHP Fatal error:  require(): Failed opening required 'hoge.inc' (include_path='.:/usr/share/php:/usr/share/pear') in /home/h13i32maru/php/2.6_require.php on line 3


includeはヘッダーやフッターなどのHTMLファイルを読み込むのに適していて、requireはPHPライブラリを読み込むのに適しているそうです。