ѡ̳

标题: thinkphp公共函数之D函数 [打印本页]

作者: admin    时间: 2017-11-12 18:52
标题: thinkphp公共函数之D函数
源码
  1. /**
  2. * 实例化模型类 格式 [资源://][模块/]模型
  3. * @param string $name 资源地址
  4. * @param string $layer 模型层名称
  5. * @return Think\Model
  6. */
  7. function D($name='',$layer='') {
  8.     if(empty($name)) return new Think\Model;
  9.     static $_model  =   array();
  10.     $layer          =   $layer? : C('DEFAULT_M_LAYER');
  11.     if(isset($_model[$name.$layer]))
  12.         return $_model[$name.$layer];
  13.     $class          =   parse_res_name($name,$layer);
  14.     if(class_exists($class)) {
  15.         $model      =   new $class(basename($name));
  16.     }elseif(false === strpos($name,'/')){
  17.         // 自动加载公共模块下面的模型
  18.         if(!C('APP_USE_NAMESPACE')){
  19.             import('Common/'.$layer.'/'.$class);
  20.         }else{
  21.             $class      =   '\\Common\\'.$layer.'\\'.$name.$layer;
  22.         }
  23.         $model      =   class_exists($class)? new $class($name) : new Think\Model($name);
  24.     }else {
  25.         Think\Log::record('D方法实例化没找到模型类'.$class,Think\Log::NOTICE);
  26.         $model      =   new Think\Model(basename($name));
  27.     }
  28.     $_model[$name.$layer]  =  $model;
  29.     return $model;
  30. }
复制代码







欢迎光临 ѡ̳ (http://www.sunminxuan.cn/bbs/) Powered by Discuz! X3.4