PHP でクラスのオートロード

PHP でクラスをロードする場合、 クラスを定義したファイルを読み込んでおく必要がありますが PHP5 からは オートロードという自動化の仕組みが追加されました。

[参考]
PHP: クラスのオートローディング - Manual

Sample というクラスを Sample.php に定義した場合 PHP4 では次のようにインスタンスを作成していました。

include 'Sample.php';
$obj  = new Sample();

使用するクラスが少なければこれでも良いのですが クラスが大量にある場合は面倒です。

PHP5 からは __autoload 関数を定義しておけば 未定義のクラスを使用した時に この関数を実行してくれます。 引数にクラス名が入るので この関数の中でファイルの読み込めば 自動化できるわけです。

function __autoload($name) {
    include $name . '.php';
}

$obj1  = new Sample1();
$obj2  = new Sample2();
$obj3  = new Sample3();

これでソースをすっきりさせることができます。

Google サイト内検索

Amazonアソシエイト