fuelphpなどでお馴染みのオートローダを実装する方法について。これさえマスターすれば別にどんなFWでもオートロード出来るのです。
オートローダの登録はspl_autoload_register
関数で行います。この関数はオートロードしたいクラスをコールする前に実行する必要があります。
bool spl_autoload_register (
[ callable $autoload_function
[, bool $throw = true
[, bool $prepend = false ]
]
] )
$autoload_function
第一引数には登録する関数を指定します。関数名(文字列)またはクロージャでOK。
ここで登録する関数は第一引数でクラス名を取得できます。
$throw
第一引数の関数を登録できなかった際に例外を投げるかどうかの指定
$prepend
第一引数の関数を先頭に追加するかどうか。デフォルトはfalseで末尾に追加される。
return
第一引数の関数が登録できたかどうかをboolで返します。
注意:トレイトはオートローダの対象外です!!
スタックの操作
スタック一覧の取得
オートローダ関数の一覧は、spl_autoload_functions
関数で取得可能です。
引数は無し。戻り値は配列で取得出来ます。
スタックからの削除
オートローダに追加された関数を削除する場合にはspl_autoload_unregister
が利用可能です。
bool spl_autoload_unregister ( mixed $autoload_function )
$autoload_function
削除する関数名またはクロージャ