忍者ブログ
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。



2017/10/19 01:31 |
spl_autoload_register()で__autoload()
前回__autoload()を紹介しましたが、__autoload()はひとつしか登録できません。
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


2011/05/16 21:19 | Comments(0) | TrackBack(0) | PHP

トラックバック

トラックバックURL:

コメント

コメントを投稿する






Vodafone絵文字 i-mode絵文字 Ezweb絵文字 (絵文字)



<<PCを新調しました | HOME | 買ったものリスト 2011/05/15>>
忍者ブログ[PR]