如何通过类名称自动加载我的框架控制器和模型,比如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