正文实例叙述了Yii框架自定义数据库操作组件。分享给我们供大家参照他事他说加以侦查,具体如下:

Yii 的数据库操作对象提供的格局确实很便利。
然而局部时候咱们曾经听而不闻了我们在此以前编写php的数据库操作语法,未有那么多时光去留神看每一种Yii提供的数据库操作语法,咋做吧?
那正是一方面读书,一边三次封装自个儿习于旧贯的数据库操作类。
今后大家采纳数据库操作对象,就用我们团结定义的零构件去操作。

将本人的数据库操作组件注册进配置文件web.php 中

array( 'components' => array( //自定义数据库操作组件 'dbOper' => array( 'class' => 'appcomponentsDbOperrealizationDbRealization1' ), //Yii 框架数据库连接组件 'db' => array( 'class' => 'yiidbConnection', 'dsn' => 'mysql:host=localhost;dbname=yii', 'username' => 'root', 'password' => '123456', 'charset' => 'utf8' ); ))

下一场大家就能够在components 目录下定义大家的数据库操作类了。
因为,不精晓怎么去赢得php pdo
的原生操作对象,所以那边是对Yii数据库操作类的二个一次封装。

接口文件 DbOper.php 自定义的数据库操作类都得贯彻该接口

针对DbOper 接口的实现类 DbRealization1.phpgetQueryObj->queryAll return $result; else return array(); } /** * interface @Override */ public function fetch($sql='',$keyVal=array return array(); $result = $this->getQueryObj->queryOne return $result; else return array(); } /** * interface @Override */ public function insert($tableName='',$values=array { if return 0; $insert = $this->getYiiDbConnection; if { $keys = array_keys; return $insert->batchInsert($tableName,$keys,$values)->execute(); } return $insert->insert->execute(); } /** * interface @Override */ public function update($tableName='',$where = '',$update=array { if return 0; if return 0; return $this->getYiiDbConnection ->update($tableName,$update,$where) ->execute(); } /** * interface @Override */ public function delete($tableName='',$where='') { if return 0; return $this->getYiiDbConnection ->delete ->execute(); } /** * 获得查询操作对象 * @return * Object */ private function getQueryObj($sql='',$keyVal=array { $query = $this->getYiiDbConnection()->createCommand; if $query->bindValues; return $query; } /** * interface @Override */ public function transcation { if return false; $db = $this->getYiiDbConnection(); $outerTransaction = $db->beginTransaction(); $runClient = true; try { foreach { $db->createCommand; } $outerTransaction->commit(); }catch{ $runClient = false; $outerTransaction->rollback(); } return $runClient; } /** * interface @Override */ public function getYiiDbConnection() { if { $this->db = Yii::$app->db; } return $this->db; }}

注意:笔者的自定义数据库操作类 正视 Yii::$app->db 这几个组件,
也正是框架自带的数据库连接组件

接下来咱们就可以因此 Yii::$app->dbOper 去操作数据库了。

越多关于Yii相关内容感兴趣的读者可查阅本站专项论题:《Yii框架入门及常用技能统计》、《php杰出开垦框架计算》、《smarty模板入门幼功教程》、《php面向对象程序设计入门教程》、《php字符串用法总计》、《php+mysql数据库操作入门教程》及《php司空见惯数据库操作本事汇总》

瞩望本文所述对我们基于Yii框架的PHP程序设计有着扶持。

发表评论

电子邮件地址不会被公开。 必填项已用*标注