目录结构
注意事项:
1:使用相应数据库的PDO库,如:php_pdo_mysql.dll
2: 使用相应的DSN: 如mysql的DSN: mysql:host=localhost;dbname=bookstore
3: 在保存对象到数据库后,不能直接得到数据对象key
生成 PHP 类文件的工作主要在 peopel-generator 目录下进行。在正确安装完成之后,peopel-generator 的目录结构应该如下:
propel-generator
|– classes
| +– propel
| |– engine
| | |– database
| | | |– model
| | | +– transform
| | +– sql
| +– phing
|– dtd
|– projects
| +– bookstore
|– templates
+– test
|– classes
| +– propel
+– etc
classes:Propel 所用到的所有类文件;
dtd:对应于数据库描述文件(schema.xml)的 DTD 文件--DTD 是 XML 的基础,感兴趣的可以到 W3 School 学习;
projects:此目录用于存放各个项目的文件,每个项目对应于一个子目录,Propel 自带有 bookstore 项目作为样例。Propel 会从这些项目的目录中读取 schema 和配置文件,然后将生成的文件放入输出目录 build(如:projects/bookstore/build)中;
templates:存放着用于创建 PHP 文件的模板及 SQL 文件的数据模型;
test:PHPUnit2 测试用例。
创建数据库描述文件
首先需要在 projects 目录下创建项目目录(假设项目名为“infor96”),然后在此目录下创建数据库描述文件 schema.xml,内容如下(这里只对一个数据表进行试验测试):
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<database name="infor96" defaultIdMethod="native">
<table name="user" description="User Table">
<column
name="uid"
required="true"
primaryKey="true"
type="VARCHAR"
size="16"
description="User Id"/>
<column
name="pwd"
required="true"
type="VARCHAR"
size="16"
description="User's Password"/>
<column
name="name"
required="true"
type="VARCHAR"
size="10"
description="User's True Name"/>
</table>
</database>
可以清楚的看到这个项目的数据库名为“infor96”,有一个表,表名为“user”,这个表有 3 个字段:uid、pwd、name,如果有多个表的话,在 <database> …. </database> 之间加入多个 <table> 即可。其他标签属性比较简单,type 是字段类型,size 是大小,primaryKey 是“主键”。
