KISS PHP Framework v3 中的 ORM 语法

王朝php·作者佚名  2006-01-09
宽屏版  字体: |||超大  

假设我们有两个表

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有