如何通過類名稱自動加載我的框架控制器和模型,比如Zend Framework呢?按類名稱自動加載類,如Zend Framework
的Zend Framework自動加載類,像這樣:
new Application_Controller_Index();
這意味着控制器類位於application/controllers/IndexController.php
如何通過類名稱自動加載我的框架控制器和模型,比如Zend Framework呢?按類名稱自動加載類,如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()。
,我問的Zend它是如何設立,使他們不需要指定目錄,只需包含類名,然後將其解析到目錄中以查找該類。 – 2013-04-23 00:54:29
要使用你在上面指定的格式,你必須[爆炸()](http://www.php.net/manual/en/function.explode.php)的類名稱中的位,並得到陣列。 – Lasse 2013-04-23 00:57:50
這似乎是這樣做的最好方法,所以我接受了這個答案。 – 2013-04-24 18:11:13