ѡ̳

 找回密码
 ע
搜索
查看: 106|回复: 0
打印 上一主题 下一主题

phpcms加载pc_base::load_model

[复制链接]

789

主题

1158

帖子

4197

积分

Ա

Rank: 9Rank: 9Rank: 9

积分
4197
跳转到指定楼层
¥
发表于 2017-11-7 04:11:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


例如 :
  1. $this->db = pc_base::load_model('content_model');
复制代码
加载phpcms目录下 model目录下的 content_model.class.php

源码
  1. /**
  2.          * 加载数据模型
  3.          * @param string $classname 类名
  4.          */
  5.         public static function load_model($classname) {
  6.                 return self::_load_class($classname,'model');
  7.         }
复制代码
  1. /**
  2.          * 加载类文件函数
  3.          * @param string $classname 类名
  4.          * @param string $path 扩展地址
  5.          * @param intger $initialize 是否初始化
  6.          */
  7.         private static function _load_class($classname, $path = '', $initialize = 1) {
  8.                 static $classes = array();
  9.                 if (empty($path)) $path = 'libs'.DIRECTORY_SEPARATOR.'classes';

  10.                 $key = md5($path.$classname);
  11.                 if (isset($classes[$key])) {
  12.                         if (!empty($classes[$key])) {
  13.                                 return $classes[$key];
  14.                         } else {
  15.                                 return true;
  16.                         }
  17.                 }
  18.                 if (file_exists(PC_PATH.$path.DIRECTORY_SEPARATOR.$classname.'.class.php')) {
  19.                         include PC_PATH.$path.DIRECTORY_SEPARATOR.$classname.'.class.php';
  20.                         $name = $classname;
  21.                         if ($my_path = self::my_path(PC_PATH.$path.DIRECTORY_SEPARATOR.$classname.'.class.php')) {
  22.                                 include $my_path;
  23.                                 $name = 'MY_'.$classname;
  24.                         }
  25.                         if ($initialize) {
  26.                                 $classes[$key] = new $name;
  27.                         } else {
  28.                                 $classes[$key] = true;
  29.                         }
  30.                         return $classes[$key];
  31.                 } else {
  32.                         return false;
  33.                 }
  34.         }
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | ע

本版积分规则

QQ|Archiver|ֻ|С|ѡ̳

GMT+8, 2026-5-2 07:26 , Processed in 0.096634 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表
0.1102s