クラスやインターフェイスをオートローディング

未定義のクラスインターフェイスを使おうとすると、自動的に呼び出す(オートローディングする)ようにするには、spl_autoload_register()関数を使う。

書式

function 関数名( 引数 ) { // 引数には、クラス名が渡される
    // クラスを定義しているファイルを読み込むなどの処理文を書く
    // 例えば
    include 'classes/' . 引数 . '.class.php';
    // この場合、「クラス名」のクラスを定義してある「classes/クラス名.class.php」を読み込む
}
spl_autoload_register( '関数名' );
$変数名 = new クラス名();

サンプル

<?php
function autoload_classes( $class ) {
    include 'classes/' . $class . '.class.php';
}
spl_autoload_register( 'autoload_classes' );
$var_class = new taxClass();
echo '税込:' . $var_class->func_tax( 100 ) . '円<br />';
echo '税率:' . $var_class->varTax * 100 . '%<br />';
?>

↓↓↓出力結果↓↓↓

税込:105円
税率:5%

読み込むPHPファイル

サンプルで読み込む「classes/taxClass.class.php」の内容。

<?php
class taxClass
{
    public $varTax = 0.05;
    function func_tax( $var ) {
        return $var * ( 1 + $this->varTax );
    }
}
?>

スポンサード リンク

カテゴリー: PHP, オブジェクト指向プログラミング タグ: パーマリンク