Zend Frameworkのように、フレームワーク コントローラーとモデルをクラス名で自動ロードするにはどうすればよいですか?
Zend Framework は、次のようにクラスを自動ロードします。
new Application_Controller_Index();
つまり、コントローラークラスは次の場所にありますapplication/controllers/IndexController.php
Zend Frameworkのように、フレームワーク コントローラーとモデルをクラス名で自動ロードするにはどうすればよいですか?
Zend Framework は、次のようにクラスを自動ロードします。
new Application_Controller_Index();
つまり、コントローラークラスは次の場所にありますapplication/controllers/IndexController.php
ソースコードを見てみませんか?http://framework.zend.com/svn/framework/standard/trunk/library/Zend/Loader.php
念のため、おそらく最も簡単な方法:
spl_autoload_register(function($classname){
include str_replace('_', DIRECTORY_SEPARATOR, $classname) . '.php';
});
関数 __autoload を使用するだけで、すべて設定できます。
PHP マニュアルには本当に良い例があります: http://php.net/manual/en/language.oop5.autoload.php
また、__autoload は間もなく廃止される可能性があることに注意してください。これを回避するには、マニュアルにあるようにspl_autoload_register()を使用します。