1.7 PhalApi Model数据模型层与数据库操作

Model数据模型层与数据库操作

Model层称为数据模型层,负责技术层面上对数据信息的提取、存储、更新和删除等操作,数据可来自内存,也可以来自持久化存储媒介,甚至可以是来自外部第三方系统。

可以说,PhalApi的Model层是广义上的数据层,而非狭义的数据层。但考虑到大部分数据都是来自于数据库的操作,所以后面会重点讲解如何进行数据库操作。

先一个抽象概括的图来了解Model层所处的位置和重要性。

在Model包的左侧,是它的上游,也就是它的调用方或者客户端。从Api层开始,再调用到Domain领域层,再调用Model层。

而在右侧,另一方面,Model的实现依赖于其需要处理的数据来源。当数据是传统的数据库时,则可以使用NotORM(后面会详细和重点介绍);当数据是存在高效缓存时,如Redis、Memcached时可以使用PhalApi\Cache接口的具体实现类;如果数据是来自第三方远程系统,则可以通过CURL的方式进行通信。

一个简单的Model例子

简单地,我们可以通过一个简单的例子来入门。

假设,我们需要查找user表中,id = 1的用户信息。可以这样编写Model类。

新增App\Model\User.php文件,编写:

<?php
namespace App\Model;

use PhalApi\Model\NotORMModel as NotORM;

class User extends NotORM {

    public function getUserInfo($id) {
        return $this->getORM()->where('id', 1)->fetchOne();
    }
}

然后,就可以在Domain层使用了。

namespace App\Domain;

use App\Model\User as UserModel;

class User {
    public function getUserInfo() {
        $userId = 1;
        $model = new UserModel();
        return $model->getUserInfo($userId);
    }
}

最后,就可以在Api层调用封装好的Domain层。

传统的Model数据库层

基于接口的处理重点在于数据,而数据的来源就目前而言,又主要来自数据库,而数据库又集中以MySQL开源数据库为主。因此,我们将重点讲解在PhalApi中如何在Model层使用MySQL数据库。

涉及的内容和知识点,整理成数据库大章节。主要分为:

详细可分别查看上面的文档。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值