クラスのオートローディング(サンプル1)
概要
クラスを外部ファイルに定義している場合はrequireまたはincludeで処理してから使用する必要があるが、__autoloadを使用することで簡略化する
サンプル1
定義
$WORK_DIR/
|__ main.php
| |__ classes/
| |__ Test1.class.php
| |__ Test2.class.php
対象ファイル
main.php
<?php
// autoload用の処理を定義
function my_autoloader($class) {
require_once('classes/' . $class . '.class.php');
}
// __autoload() の実装として登録する
spl_autoload_register('my_autoloader');
// クラスのインスタンスを生成
$a = new Test1();
$b = new Test2();
classes/Test1.class.php
<?php
// テスト用クラス
class Test1{
// コンストラクタ
function __construct(){
echo __CLASS__ . "::" . "__construct" . "\n";
}
// デストラクタ
function __destruct(){
echo __CLASS__ . "::" . "__destruct" . "\n";
}
}
classes/Test2.class.php
<?php
// テスト用クラス
class Test2{
// コンストラクタ
function __construct(){
echo __CLASS__ . "::" . "__construct" . "\n";
}
// デストラクタ
function __destruct(){
echo __CLASS__ . "::" . "__destruct" . "\n";
}
}
結果
最終更新:2012年07月07日 11:38