リスを倒す 『初めてのPHP,MySQL,JavaScript&CSS』

『初めてのPHP,MySQL,JavaScript&CSS』勉強奮闘記

5-2. PHPの関数とオブジェクト②ファイルのincludeとrequire

最近、何かログインするときにパスワードが違いますとか、大文字は使っちゃダメですとかのエラーが出るたびに、もしやこういうのはPHPで作ってるんじゃ?とわくわくしています。でも、まだ知識が浅いのでいきらないようにします。

今回は、ファイルのincludeとrequireについて勉強します。
他のプログラマーが作成したライブラリーを使用するときや、別ファイルにまとめた関数やファイル、プログラムを読み込むときに、includeとrequireを使用します。
頻繁に使う関数を別ファイルに用意しておき、複数ページで共有できるようにしておけば、同じコードを都度書く必要がなくなります。便利だな。


1-1. includeステートメント


includew使用すると、PHPに対して特定のファイルを取得しその中身を全部読み込むように求めることができます。
library.phpという名前のファイルをインクルードするとき、以下のコードを書きます。

<?php
include"library.php";

//コード
?>

1-2. include_onceステートメント


includeは要求されたファイルがすでに挿入されている場合でも毎回そのファイルをインクルードします。同じファイルが何回も読み込まれると関数や定数の再定義が起きてエラーの原因となることがあります。そのような事を防ぐためPHPファイルを1度だけインクルードするときに「include_once」を使います。

<?php
include_once"library.php";

//コード
?>

1-3.requireステートメント


includeステートメントとinclude_onceステートメントは、要求したphpファイルが見つからない場合でも、しれっとプログラムの実行が継続されます。そういうのは困りまっせ、ちゃんとやろうぜっていう必要不可欠なファイルのインクルードには、「require」や「require_once」を使用します。


<?php
require"library.php";

//コード
?>

1-4.関数が使用できるかチェックする方法

PHPは複数のバージョンが存在します。『function_exists関数』を使って、特定の関数が使用できるかどうか、定数済み関数とユーザーが作成した関数すべてを調べることができます。

以下は、PHPver5固有のarray_combine関数を調べる例です。


<?php
if (function_exists("array_combine"))
{
echo "Function exists";
}
else
{
echo "Function does not exist - better write our own";
}
?>

結果はこう。
f:id:taro-blog2323:20160727224349p:plain


今回はこれでしゅうりょー
次回はPHPのオブジェクトを学びます。オブジェクトてなんじゃらほいて感じですが頑張ります。