首页 > 技术文章 > yii2实现curd

cnn2017 2017-04-27 14:28 原文

Yii是一个高性能的框架,以下的图表展示了与其他流行的PHP框架比较下Yii的高效率。在这个图表中, RPS代表“每秒请求”,描述了此框架每秒执行多少个请求。这个数字越大,此框架的性能越高。

  • 快速:Yii 只加载您需要的功能。它具有强大的缓存支持。它明确的设计能与 AJAX 一起高效率的工作。
  • 安全:Yii 的标准是安全的。它包括了输入验证,输出过滤,SQL 注入和跨站点脚本的预防。
  • 专业:Yii 可帮助您开发清洁和可重用的代码。它遵循了 MVC模式,确保了清晰分离逻辑层和表示层。

 

# create  增   del  删   update  改   one  查(单个)    和all查(所有)

1.添加

 1    public function create1($data)//AR模式1
 2     {
 3          
 4         $this->setAttributes($data);//载入数据
 5         return $this->insert();//返回结果
 6         
 7     } 
 8      
 9     public function create2($data)//AR模式2
10     {
11         $this->setAttributes($data);//载入数据
12         $this->isNewRecord = true;//新插入数据
13         $this->id = 0;//id为0
14         return $this->save();//保存        
15     }
16     public function create3($data)//DAO模式
17     {
18         $sql = "insert into yii_news(title,content)values('{$data['title']}','{$data['content']}')";
19         return yii::$app->db->createCommand($sql)->execute();
20     }

2.删除

1     public function del1($id)//AR模式
2     {
3         return $this->deleteAll(['id'=>$id]);
4     }
5     public function del2($id)//DAO模式
6     {
7         $sql = "delete from   yii_news where id='$id'";
8         return yii::$app->db->createCommand($sql)->execute();
9     }

3.修改

 1    public function save1($data){//AR模式
 2     $obj=self::findOne($data['id']); 
 3         $obj->setAttributes($data);
 4        return $obj->save(); 
 5     }
 6     public function save2($data)//DAO模式
 7     {
 8         $sql = "update   yii_news set title='{$data['title']}',content='{$data['content']}'";
 9         return yii::$app->db->createCommand($sql)->execute();
10     }

4.查询

 1     public function getOne($id)
 2     {
 3         return $this->find()->where(['id'=>3])->andWhere(['1'=>'1'])->orWhere(['0'=>1])->asArray()->one();;
 4     }
 5     public function getOne2($id)
 6     {
 7         $sql = "select * from yii_news where id='$id' and 1=1 or 0=1";
 8         return yii::$app->db->createCommand($sql)->queryOne();
 9     }
10     public function getAll($condition)
11     {
12         return $this->find()/*->where()->andWhere->orWhere*/->asArray()->all();
13     }
14     public function getAll2($condition)
15     {
16         $sql='select * from yii_news ';// where $condtion
17         return yii::$app->db->createCommand($sql)->queryAll();
18     }

Yii Framework是一个基于组件、用于开发大型 Web 应用的高性能 PHP 框架。Yii提供了今日Web 2.0应用开发所需要的几乎一切功能。Yii是最有效率的PHP框架之一。创始人:薛强

yii特点:

1) 多种缓存机制,并支持缓存依赖。按需加载/延迟加载

2) 支持多模块多模版。  

3) 相对较完善的库支持和第三方类库的导入。Yii还支持PHP的命名空间和自定 义autoload方法 

4) 工具支持yiicgiigii非常好用的建模块、控制器(动作)、CURD操作等功 能,可以减少开发周期。 

5) 全面的事件行为机制。  

6) Yii容易学习和使用,开发速度快

7) Yii 有着丰富的功能,从MVC, DAO/ActiveRecord, 到主题化国际化和本地化, Yii 提供了几乎所有今天的Web 2.0应用程序开发所需的功能

8) Yii 具有高度的可重用性和可扩展性,是纯粹的面向对象

 

推荐阅读