PHP开发框架Yii Framework教程(23) 数据库-概述

Yii提供了强大的数据库编程支持。

Yii数据访问对象(DAO)建立在PHP的数据对象(PDO)extension上,使得在一个单一 的统一的接口可以访问不同的数据库管理系统(DBMS)。使用Yii的DAO开发的应用程序可以很容易地切换使用不同的数据库管理系 统,而不需要修改数据访问代码。

Yii 的Active Record( AR ),实现了被广泛采用的对象关系映射(ORM)办法,进一步简 化数据库编程。按照约定,一个类代表一个表,一个实例代表一行数据。Yii AR消除了大部分用于处理CRUD(创建,读取,更新 和删除)数据操作的sql语句的重复任务。

尽管Yii的DAO和AR能够处理几乎所有数据库相关的任务,您仍然可以在Yii application中使用自己的数据库库。事实上,Yii框架精心设计使得可以与其他第三方库同时使用。

Yii框架支持的数据 接口主要要下面三种:

Active Record

Query Builder

DAO

本教程使用的示例数据库为

Chinook Database ,该示例库前生就是著名的NorthWind数据库,目前支持的数据类型有:

DB2

EffiProz

MySQL

Oracle

PostgreSQL

SQL Server

SQL Server Compact

SQLite

其数据模型 为:

本教程主要是使用MySQL,主要是因为和PHP配合使用的数据库类型用的最多的MySQL,因此需要你安装MySQL数据库,Yii 框 架支持多种数据库类型,支持这些数据库访问的接口基本类似,因此尽管本教程使用MySQL为例,所用到的知识同样适用于其它 数据库类型。

查看全套教程:http://www.bianceng.cn/webkf/PHP/201301/35265.htm

时间: 2024-11-08 18:25:02

PHP开发框架Yii Framework教程(23) 数据库-概述的相关文章

PHP开发框架Yii Framework教程(27) 数据库-关联Active Record示例

我们已经了解了怎样使用 Active Record (AR) 从单个数据表中获取数据. 在本节中,我们讲解怎样使用 AR 连接多个相关 数据表并取回关联(join)后的数据集. 为了使用关系型 AR,我们建议在需要关联的表中定义主键-外键约束.这些约 束可以帮助保证相关数据的一致性和完整性. 本例通过修改Yii Framework 开发教程(25) 数据库-Query Builder示例来 介绍多个有关系的表如何使用Active Record. 在我们使用 AR 执行关联查询之前,我们需要让 A

PHP开发框架Yii Framework教程(26) 数据库-Active Record示例

使用Java或是.Net 写数据库应用,很多人都用过Hibernate(或NHibernate)可以大大简化数据库编程,而以对象的方式来 读写数据库(ORM),Yii提供的Active Record (AR) 也是一个流行的 对象-关系映射 (ORM) 技术.每个 AR 类代表一个数据表 (或视图),数据表(或视图)的列在 AR 类中体现为类的属性,一个 AR 实例则表示表中的一行. 常见的 CRUD 操作作为 AR 的方法实现.因此,我们可以以一种更加面向对象的方式访问数据. 这里修改Yii

PHP开发框架Yii Framework教程(24) 数据库-DAO示例

据访问对象(DAO) 对访问存储在不同数据库管理系统(DBMS)中的数据提供了一个通用的API. 因此,在将底层 DBMS 更 换为另一个时,无需修改使用了 DAO 访问数据的代码. Yii DAO 基于 PHP Data Objects (PDO) 构建.它是一个为众多 流行的DBMS提供统一数据访问的扩展,这些 DBMS 包括 MySQL, PostgreSQL 等等.因此,要使用 Yii DAO,PDO 扩展和特定的 PDO 数据库驱动(例如PDO_MYSQL) 必须安装. Yii DAO

PHP开发框架Yii Framework教程(25) 数据库-Query Builder示例

上一篇介绍PHP使用DAO(数据库访问对象接口)访问数据库的方法,使用DAO需要程序员编写SQL语句,对于一些复杂的SQL语 句,Yii提供了Query Builder来帮助程序员生成SQL语句,Query Builder提供了一中面向对象的方法动态创建SQL语句,打个不 十分恰当的比较,PHP 的DAO和.Net 的DAO接口非常类型,Query builder 就有点像LINQ了,尽管和LINQ比起来功能小很多.对 于一些简单的SQL查询,通常不需要借助于Query Builder,比如上篇

PHP开发框架Yii Framework教程(34) Zii组件-AutoComplete示例

CJuiAutoComplete 在用户输入时可以根据用户输入的前几个字符自动提示用户可以输入的文字.它封装了 JUI autocomplete插件. 基本用法如下 <?php $this->widget('zii.widgets.jui.CJuiAutoComplete', array( 'name'=>'city', 'source'=>$data, // additional javascript options for the autocomplete plugin 'op

PHP开发框架Yii Framework教程(28) Data Provider简介

这开始介绍Zii组件之前,先简要介绍一下Yii支持的数据源接口 IDataProvider,IDataProvider主要功能是为UI组件如 GridView,ListView等提供数据源,同时也支持数据的分页和排序.下图为Yii内置的三种数据源: CActiveDataProvider  基于Active Record的数据源 CArraryDataProvider 基于数组的数据源 CSqlDataProvider      基于SQL查询的数据源 开发框架Yii Framework教程(2

PHP开发框架Yii Framework教程(22) UI组件 Zii组件简介

前面介绍了Yii框架支持的部分UI组件,除了前面介绍的UI组件外,Yii框架还提供了Zii组件库,包括列表视图ListView,表 格视图GridView,此外还包括一些基于JQuery的UI组件,如AutoComplete,DataPicker, Button, Drag 和 Drop等,Zii组件主要 定义在包zii.* ,zii.widget.* 开发框架Yii Framework教程(22) UI组件 Zii组件简介-yii2 user组件"> 由于其中部分UI组件和数据源(Dat

PHP开发框架Yii Framework教程(46) Zii组件-Sortable示例

CJuiSortable显示一个列表,列表中的列表项可以通过拖放重新调整顺序,它封装了 JUI Sortable插件. 其基本用 法如下: <?php Yii::app()->clientScript->registerCss('sortable', " #sortable {list-style-type: none; margin: 0; padding: 0; width: 60%;} #sortable li {margin: 2px; padding: 4px; bo

PHP开发框架Yii Framework教程(45) Zii组件-Selectable示例

CJuiSelectable可以显示一个列表,列表的每个项支持Select事件,它封装了 JUI Selectable插件,其基本用法如下: <?php Yii::app()->clientScript->registerCss('selectable'," #selectable {list-style-type: none; margin: 0; padding: 0; width: 60%;} #selectable li {margin: 2px; padding: 4