您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

thinkphp D方法 疑问

2025/9/29 20:16:30发布26次查看
我看到别人写代码的时候,直接用d(user)方法,我知道这个d方法是用来实例化自定义模型类的,但是我没有在model目录中找到这个usermodel.class.php,请问那是怎么回事?
回复内容: 我看到别人写代码的时候,直接用d(user)方法,我知道这个d方法是用来实例化自定义模型类的,但是我没有在model目录中找到这个usermodel.class.php,请问那是怎么回事?
没有model就会实例化 系统基础model
function d($name = '', $layer = ''){ if (empty($name)) { return new think\model; } static $_model = array(); $layer = $layer ?: c('default_m_layer'); if (isset($_model[$name . $layer])) { return $_model[$name . $layer]; } $class = parse_res_name($name, $layer); if (class_exists($class)) { $model = new $class(basename($name)); } elseif (false === strpos($name, '/')) { // 自动加载公共模块下面的模型 if (!c('app_use_namespace')) { import('common/' . $layer . '/' . $class); } else { $class = '\\common\\' . $layer . '\\' . $name . $layer; } $model = class_exists($class) ? new $class($name) : new think\model($name); } else { think\log::record('d方法实例化没找到模型类' . $class, think\log::notice); $model = new think\model(basename($name)); } $_model[$name . $layer] = $model; return $model;}
如果没有usermodel.class.php也是可以执行的,不过你要做关联模型就会报错找不到这个关联的模型,验证这些都是要创建usermodel.class.php来才可以进行的,如果没有这个usermodel.class.php你可以吧d当成m来使用
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product