周末都不上班吗?问个 thinkphp 的问题

提问 已结
4 855
Alice
Alice 2018-12-23
悬赏:20NP
用模型的效率高还是 Db 类?
回帖
  • NewPHPer
    2018-12-24
    @Alice 只要记住对象很重要,基本就能解决很多问题了,现在都是面向对象的时代了
    0 回复
  • NewPHPer
    2018-12-24
    @Rafi 确实对象很重要
    0 回复
  • Alice
    Alice (楼主)
    2018-12-24
    @Rafi 谢谢face[可爱]
    0 回复
  • Rafi
    2018-12-24
    不要以为模型性能比Db差,这点差别还不抵不过一条SQL查询,而带来的便利是可观的; 模型的好处千言万语抵不过两个字:对象(明白人都会懂); 模型类一般直接继承think\Model,如有必要也可以继承一个公共模型基类; 如果你的模型类没有任何的数据库操作的话不需要继承任何类库; 模型类不需要使用类后缀Model(对应前面的控制器类后缀); 模型的save方法既可以新增也可以更新(而且是自动识别); 模型没有链式操作,所有链式操作都是调用的数据库类Db; 模型支持事件而数据库类的操作不支持事件; 统一在模型的init方法(静态方法)中注册模型事件; 模型没有数据表前缀的概念只有对应数据表(完整表名)的概念; 每个模型对应一个数据库查询对象Query,彼此独立; 每个模型可以单独定义自己的数据库连接信息; 模型名不一定就是数据表名,而且可以单独定义数据表名称; 模型查询的数据返回永远都是当前模型对象实例(而不是数组,Db类查询才是数组); 模型对象可以直接进行数组操作并不需要使用toArray转换(包括模板输出)
    1 回复
关注公众号

关注公众号,随时随地交流技术