我看到别人写代码的时候,直接用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 ThinkModel;
}
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 ThinkModel($name);
} else {
ThinkLog::record('D方法实例化没找到模型类' . $class, ThinkLog::NOTICE);
$model = new ThinkModel(basename($name));
}
$_model[$name . $layer] = $model;
return $model;
}
如果没有UserModel.class.php也是可以执行的,不过你要做关联模型就会报错找不到这个关联的模型,验证这些都是要创建UserModel.class.php来才可以进行的,如果没有这个UserModel.class.php你可以吧D当成M来使用
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
C++高性能并发应用_C++如何开发性能关键应用
Java AI集成Deep Java Library_Java怎么集成AI模型部署
Golang后端API开发_Golang如何高效开发后端和API
Python异步并发改进_Python异步编程有哪些新改进
C++系统编程内存管理_C++系统编程怎么与Rust竞争内存安全
Java GraalVM原生镜像构建_Java怎么用GraalVM构建高效原生镜像
Python FastAPI异步API开发_Python怎么用FastAPI构建异步API
C++现代C++20/23/26特性_现代C++有哪些新标准特性如modules和coroutines
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号