回复内容: 我看到别人写代码的时候,直接用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来使用
