#1 jake

日常的数据库数据操作,就是CRUD个类型的居多。C是CREATE,创建记录;R是SELECT,读取记录;U是UPDATE,更新记录;D是DELETE,删除记录。

一、配置应用程序的数据库链接参数

首先是针对数据库链接的一些程序配置,以留言本为例子,index.php配置文件部分如下:

...
        "db" => array(
                'driver' => 'mysql',
                'host' => 'localhost',
                'login' => 'root',
                'password' => '',
                'database' => 'test',
                'prefix' => 'spgb_'
        ),
...       

'driver' => 'mysql',是表示该应用程序链接的数据库类型是mysql。

'host' => 'localhost',是数据库链接地址,一般为localhost。

'login' => 'root',数据库链接的用户名,

'password' => '',数据库链接的密码,用户名和密码如果不清楚,请联系主机服务商。

'database' => 'test',是当前需要链接的数据库的库名称,这也将由主机服务商提供的。

'prefix' => 'spgb_',这是当前应用程序链接的数据表的表前缀,一般在多个应用程序同时使用一个数据库的情况下,均建议使用表前缀,以更好的区分不同的应用程序对应的数据表,数据表前缀一般以下划线作为分隔。如在程序中使用的表名是“user”,按照以上配置,该数据表全名应该是“spgb_user”。

二、建立表驱动模型类

在按以上方式配置好了应用程序数据库链接参数后,开始建立各数据表的表驱动模型类。

表驱动模型类是Model部分的实现机制。可以简单的理解成一个PHP类(表驱动模型类)对应了一个数据表,然后这些类的方法,可以对该数据表进行CRUD的操作。

如留言本中的留言模型类:

class gb extends spModel{
        var $table = "gb";
        var $pk = "gid";
}
?>       

这些代码可以直接复制粘贴来使用,作为其他的表模型类的样板。

class gb extends spModel,定义了一个名称为gb的PHP类,并且派生自spModel这个核心类。表驱动模型类都必须是spModel的派生类。简单来说就是“ extends spModel”这些代码是必须的。

var $table = "gb",定义gb类对应的表名。当然加上数据表前缀的话,该表的全名应该是“spgb_gb”。

var $pk = "gid",定义该数据表的主键名称,一般数据表的主键都是数值类型并且是自增量。

以上三个设置,是每个表驱动模型类都必须的,而且表驱动模型类一般是放置在应用程序目录下model的目录里面。当然这也在应用程序配置中修改该位置。

三、新增,修改,删除,查询操作

定义了数据表模型类后,可以在应用程序中进行对数据表的操作了。 将使用到的方法函数有create(新增), update(修改), delete(删除), find及findAll(查找),这些都是sp开发中最常用的数据库操作函数,将在下一章节介绍它们的使用。



2012-08-04 15:31:04