孙民选个人论坛
鏍囬:
phpcms鍔犺浇pc_base::load_sys_class
[鎵撳嵃鏈〉]
浣滆:
admin
鏃堕棿:
2017-11-7 04:02
鏍囬:
phpcms鍔犺浇pc_base::load_sys_class
鍔犺浇绯荤粺绫
渚嬪锛
$tree = pc_base::load_sys_class('tree');
澶嶅埗浠g爜
琛ㄧず鍔犺浇phpcms鐩綍涓媗ibs/classes 涓嬬殑tree.class.php
婧愮爜
/**
* 鍔犺浇绯荤粺绫绘柟娉
* @param string $classname 绫诲悕
* @param string $path 鎵╁睍鍦板潃
* @param intger $initialize 鏄惁鍒濆鍖
*/
public static function load_sys_class($classname, $path = '', $initialize = 1) {
return self::_load_class($classname, $path, $initialize);
}
澶嶅埗浠g爜
/**
* 鍔犺浇绫绘枃浠跺嚱鏁
* @param string $classname 绫诲悕
* @param string $path 鎵╁睍鍦板潃
* @param intger $initialize 鏄惁鍒濆鍖
*/
private static function _load_class($classname, $path = '', $initialize = 1) {
static $classes = array();
if (empty($path)) $path = 'libs'.DIRECTORY_SEPARATOR.'classes';
$key = md5($path.$classname);
if (isset($classes[$key])) {
if (!empty($classes[$key])) {
return $classes[$key];
} else {
return true;
}
}
if (file_exists(PC_PATH.$path.DIRECTORY_SEPARATOR.$classname.'.class.php')) {
include PC_PATH.$path.DIRECTORY_SEPARATOR.$classname.'.class.php';
$name = $classname;
if ($my_path = self::my_path(PC_PATH.$path.DIRECTORY_SEPARATOR.$classname.'.class.php')) {
include $my_path;
$name = 'MY_'.$classname;
}
if ($initialize) {
$classes[$key] = new $name;
} else {
$classes[$key] = true;
}
return $classes[$key];
} else {
return false;
}
}
澶嶅埗浠g爜
/**
* 鏄惁鏈夎嚜宸辩殑鎵╁睍鏂囦欢
* @param string $filepath 璺緞
*/
public static function my_path($filepath) {
$path = pathinfo($filepath);
if (file_exists($path['dirname'].DIRECTORY_SEPARATOR.'MY_'.$path['basename'])) {
return $path['dirname'].DIRECTORY_SEPARATOR.'MY_'.$path['basename'];
} else {
return false;
}
}
澶嶅埗浠g爜
娆㈣繋鍏変复 孙民选个人论坛 (http://www.sunminxuan.cn/bbs/)
Powered by Discuz! X3.4