Zend 自动加载类或者文件这块,Google、百度找了好多资料没看到方法,很多定义的方法都过期了,官方看了下全英文,看不太懂,但也没找到自己想要的东西。
这么大的Zend肯定有自动加载类 的方法吧,然后在后面的controllers里直接new对象,而不用include吧。
这么大的Zend肯定有自动加载类 的方法吧,然后在后面的controllers里直接new对象,而不用include吧。
调试欢乐多
PHP autoload机制详解
define('PATH_MOD','模块类所在文件夹');
function __autoload($class){
$clspath = array(//某些特别的类路径
'adodb' => 'adodb/adodb.inc.php',
'spyc' => 'spyc/spyc.php',
);
switch (true) {
case preg_match('/^jc_/i',$class)://自己写的一些类,如:JC_Page,JC_Upload...
$path = PATH_INC.$class.'.php';
break;
case preg_match('/^mod_/i',$class)://模块类,如:mod_user,mod_news...
$path = PATH_MOD.$class.'.php';
break;
default:
if (array_key_exists(strtolower($class),$clspath)) {
$path = $clspath[strtolower($class)];
} else {
$path = PATH_INC.$class.'.php';
}
break;
}
if (file_exists($path)||array_key_exists(strtolower($class),$clspath)) {
require_once($path);
} else {
exit($class.' class is not found :(');
}
}
//直接使用类会自动调用__autoload函数找到并加载类文件,如:
$user = new mod_user();
$upload = new JC_Upload();
echo JC_Page::$curpage;