KISS PHP Framework v3 中的 ORM 语法

[入库:2005年8月19日] [更新:2007年3月24日]

本文简介:选择自 iwater 的 blog

假设我们有两个表

create table school (
  school_id int(11) not null default '0',
  school_name char(20) not null default '',
  primary key  (school_id)
) type=myisam;

create table student (
  student_id int(11) not null default '0',
  student_name char(20) not null default '',
  school_id int(11) default null,
  primary key  (student_id)
) type=myisam;

数据如下:

insert into school values (1,'学校a');
insert into school values (2,'学校b');

insert into student values (1,'学生甲',1);
insert into student values (2,'学生乙',1);
insert into student values (3,'学生丙',2);
insert into student values (4,'学生丁',2);

下面继承两个空类出来

class school extends kiss_dataobject {}

class student extends kiss_dataobject {}

框架自己去完成映射关系,下面我们就可以直接使用了

$student = student::find(2); // 获得“学生乙”的实例
echo $student->student_name; // 输出“学生乙”
$school = $student->school; // 获得“学校a”的实例,映射自动完成,也可以手动配置
echo $school->school_name; // 输出“学校a”
$students = $school->student; // 获得包含“学生甲”“学生乙”实例的数组,其中“学生乙”的实例和 $student 指向同一内存地址

这是最简单的情况,完全不需要配置,当数据库连接使用php.ini中配置好的数据库连接,剩下的工作完全由框架实现

本文关键:KISS PHP Framework v3 中的 ORM 语法
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top