PHP學習筆記——在phalapi框架內的orm數據庫操作

今天將自己的聚合支付接口集成到了phal框架內,由於在phalapi框架內如何返回視圖不知道,因此需要將原本的wap站點的sdk包轉化爲api資源。具體過程稍晚點記錄,現在將phalapi框架內的數據庫操作簡單記錄一下。

如何獲取orm實例

在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官網查看。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章