今天将自己的聚合支付接口集成到了phal框架内,由于在phalapi框架内如何返回视图不知道,因此需要将原本的wap站点的sdk包转化为api资源。具体过程稍晚点记录,现在将phalapi框架内的数据库操作简单记录一下。
在PhalApi中,全部数据库操作都要经过NotORM实例来进行,在PhalApi中获取NotORM实例,有两种方式:全局获取方式、局部获取方式。
在任何地方,使用DI容器中的全局notorm服务:\PhalApi\DI()->notorm
第一种全局获取的方式,可以用于任何地方,这是因为我们已经在初始化文件中注册了\PhalApi\DI()->notorm这一服务。
$bill = array(
'trade_status' => $data['trade_status']
);
$orm = \PhalApi\DI()->notorm->bill;//bill为数据表名,去除了前缀tbl_
return $id = $orm->insert($bill);//这样即可在tbl_bill表中插入一条trade_status字段的记录
在继承PhalApi\Model\NotORMModel的子类中使用:$this->getORM()
第二种局部获取的方式,仅限用于继承PhalApi\Model\NotORMModel的子类中。首先需要实现相应的Model子类,通常一个表对应一个Model子类。例如为user表创建相应的Model类。
class User extends NotORM {
public function doSth() {
// 局部获取
$orm = $this->getORM();
}
}
事实上,只要获取了orm实例,那么涉及到数据库的基本操作便没有其他太大的问题了。而关于框架内model类与数据表的对应关系大家可以查阅官网http://docs.phalapi.net文档,这里不再赘述,orm的特性大家也可以到orm官网查看。