|
|
例如 :
- $this->db = pc_base::load_model('content_model');
复制代码 加载phpcms目录下 model目录下的 content_model.class.php
源码
- /**
- * 加载数据模型
- * @param string $classname 类名
- */
- public static function load_model($classname) {
- return self::_load_class($classname,'model');
- }
复制代码- /**
- * 加载类文件函数
- * @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;
- }
- }
复制代码
|
|