发布于 2014-10-29 09:34:08 | 185 次阅读 | 评论: 0 | 来源: 网友投递
Yii高性能PHP框架
Yii Framework是一个基于组件、用于开发大型 Web 应用的高性能 PHP 框架。Yii提供了今日Web 2.0应用开发所需要的几乎一切功能。Yii是最有效率的PHP框架之一。Yii是创始人薛强的心血结晶,于2008年1月1日开始开发。
本文为大家讲解的是yii框架的数据处理DAO的使用方法,感兴趣的同学参考下。
Yii框架对数据处理可以通过两种方式:AR、DAO(数据处理对象)
前者主要是对简单sql语句处理
后者才是处理复杂sql语句
两种使用的基础是PDO,php data object : php数据对象
PDO就是为了兼容php处理各种数据库(mysql oracle sqlserver等等)
我们定义一条sql语句就可以 在mysql、oracle、sqlserver不同数据库来运行。
AR:处理数据CActiveRecord
DAO对数据的处理 CdbCommand CdbDataReader
query() 针对查询
execute() 针对 添加、修改、删除
PDO预处理进行信息的添加、更新、删除。
DAO使用示例:
/*
* 数据处理DAO 实现数据查询
*/
function actionCat(){
//通过DAO方式读取数据
$sql = "select * from {{goods}}";
//1. 创建DAO对象
$d_obj = Yii::app()->db->createCommand($sql);
//2. 执行sql语句
// 查询:dao对象query() 返回一个结果对象CDbDataReader
// queryAll() 直接获得全部记录结果
// queryRow() 获得第一条记录结果
// queryColum() 获得第一列的记录结果
// 非查询:execute()
// read():通过具体CDbDataReader这个类里边的方法获得具体结果
// readAll(): 获得全部记录结果
//$data_obj = $d_obj -> query();
//$info = $data_obj -> read(); //获得一条记录结果,一维数组
//$info = $data_obj->readAll(); //获得全部记录结果,二维数组
//$info = $d_obj -> queryAll(); //直接获得全部信息结果
//$info = $d_obj -> queryRow(); //直接第一条记录结果
//var_dump($info);
//var_dump($data_obj);
}
/*
* 通过DAO实现数据的添加
*/
function actionCat2(){
$sql = "insert into {{goods}} (goods_name,goods_price) values (:name,:price)";
$d_obj = Yii::app()->db -> createCommand($sql);
$name = "apple678";
$price = 5050;
//把定义的两个变量绑定到占位符里边
$d_obj -> bindParam(':name',$name,PDO::PARAM_STR);
$d_obj -> bindParam(':price',$price,PDO::PARAM_INT);
$d_obj -> execute();
$name = "诺基亚678";
$price = 3999;
//把定义的两个变量绑定到占位符里边
$d_obj -> bindParam(':name',$name,PDO::PARAM_STR);
$d_obj -> bindParam(':price',$price,PDO::PARAM_INT);
$d_obj -> execute();
// $num = $d_obj -> execute(); //会返回当前受影响的记录数目
//
// //可以使用PDO预处理方式实现信息添加
// $sql = "insert into {{article}} (article_title,article_content) values (:title,:content) ";
// $command = $connection -> createCommand($sql);
// $title = "rr";
// $content = "rr";
// $command ->bindParam(":title", $title, PDO::PARAM_STR);
// $command ->bindParam(":content", $content, PDO::PARAM_STR);
// $rowCount = $command -> execute();}