トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

機能をファイルに分ける_PHP

機能をファイルに分ける(PHPのinclude/require)

プログラムを組む際に機能が増えてきたとき、1つのファイル内での管理では限界がきてしまいます(可読性がなくなる、メンテナンスがしにくい)。そこで、C言語ではinclude(Javaではimport)でファイルを分けることになります。Flashでもincludeですね。

PHPの場合は、似たようなものが「include」「require」「include_once」「require_once」のように多岐にわたっています。

「include_once / require_once」は、1回だけ読み込まれるという仕様となります。同じPHPファイルを2回以上呼び出すことにより、変数初期化などでのバッティングをしないようにします。C言語で言う、

#ifndef _XXXX_H
#define _XXXX_H

// 何か定義を行う

#endif

ですね。

「include」と「require」の違いは、includeはエラー時にエラー部分はWarning扱いになり、処理自身はそのまま続行されます。requireの場合は、エラー時はそこで処理が中断します。

たとえば以下の場合は「function.php」「main.php」の2つのファイルを作成してmain.phpからfunction.phpを呼び出しています。

// [ function.php ]
<?php
    function add($a, $b) {
        return($a + $b);
    }
?>
// [ main.php ]
<?php
    require('function.php');

    $ret = add(10, 5);
    print("ret = $ret<br>\n");
?>

これを実行すると、「ret = 15」と出力されます。

このように機能別にファイルを分けることで、大きなシステムを組む場合の効率化を行います。よく使う機能を別ファイルにしてライブラリ化っぽくする、ということもできそうですね。

Future's Laboratory 技術格納庫 2004-2013 Yutaka Yoshisaka.