KISS PHP Framework v3 中的 ORM 语法

类别:编程语言 点击:0 评论:0 推荐:

假设我们有两个表

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中配置好的数据库连接,剩下的工作完全由框架实现

本文地址:http://com.8s8s.com/it/it22097.htm