ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## 关于模型(M) * 模型类通常完成实际的业务逻辑和数据封装,并返回和格式无关的数据。模型类并不一定要访问数据库,你可以对模型层进行更细化的设计和分工,例如把模型层分为逻辑层/服务层/事件层等等。 * 呆错框架提供的基础模型类放置在扩展目录(extend/daicuo)。 * 呆错框架提供的公共模型类放置在公共目录(apps/common/loglic)。 ## 模型调用 模型类可以使用静态调用或者实例化调用两种方式(呆错的基类模型类通常使用静态方式调用、公共模型类采用实例化的方式调用),例如: ~~~ // 静态调用 $user = User::get(1); $user->name = 'thinkphp'; $user->save(); // 实例化模型 $user = new User; $user->name= 'thinkphp'; $user->save(); // 使用 Loader 类实例化(单例) $user = Loader::model('User'); // 或者使用助手函数`model` $user = model('User'); $user->name= 'thinkphp'; $user->save(); ~~~ ## 模型分层 除了Model层之外,我们可以根据项目的需要设计和创建其他的模型层。通常情况下,不同的分层模型仍然是继承系统的\think\Model类或其子类,所以,其基本操作和Model类的操作是一致的。 例如在index模块的设计中需要区分数据层、逻辑层、服务层等不同的模型层,我们可以在模块目录下面创建model、logic和service目录,把对用户表的所有模型操作分成三层: * 数据层:app\\index\\model\\User 用于定义数据相关的自动验证和自动完成和数据存取接口 * 逻辑层:app\\index\\logic\\User 用于定义用户相关的业务逻辑 * 服务层:app\\index\\service\\User 用于定义用户相关的服务接口等 ## 助手函数 * model 实例化模型类