前回__autoload()を紹介しましたが、__autoload()はひとつしか登録できません。
spl_autoload_register()を使うとオートローディングの実装を複数登録できます。
通常はPearライブラリだけ入れておくくらいでいいのではないでしょうか。
spl_autoload_register()を使うとオートローディングの実装を複数登録できます。
<?php
//オートロード実装その1
function autoload1($className){
require_once('Zend/Loader.php');
try{
@Zend_Loader::loadClass($className);
}catch(Exception $e){}
}
//オートロード実装その2
function autoload2($className){
class AutoLoad2{}
}
//spl_autoload_register
spl_autoload_register('autoload1');
spl_autoload_register('autoload2');
//インクルードしていないクラスをインスタンス化
new Zend_Filter_Word_DashToSeparator('/');
//autoload2内で定義されているクラスをインスタンス化
new AutoLoad2();
//現在登録されているオートロード実装を確認
spl_autoload_functions();
オートロードを駆使すれば毎回インクルードを行わずにすむようにはなりますが、駆使するほどたくさん登録すると却ってわかりにくくなりそうです。通常はPearライブラリだけ入れておくくらいでいいのではないでしょうか。
PR
トラックバック
トラックバックURL: