生成的文件均位于 projects/infor96/build/ 目录下,PHP 类文件在 projects/infor96/build/classes/infor96/ 目录下。这些类文件中包含了很多属性和方法,可以看到,Propel 对每一个字段都提供了 get/set 方法,如:getUid() 和 setUid()。现在可以写个 PHP 调用这些类,然后通过这些类的方法去操作数据库了。这就是当初 Hibernate 的设想,像操作对象那样去操作数据库。在你写 PHP 代码中,不会出现 SQL 语句,因为这些 SQL 语句已经完全被封装在类文件中了,而这些类文件是由 Propel 自动生成的。下面是一个使用示例:
<?php
require_once 'propel/Propel.php';
// 首先需要将生成的 projects/infor96/build/ 整个项目目录移到需要用到的地方,当然可以不放到 WEB 发布目录下
// 下边传递的这个配置文件就是由运行时配置文件 runtime-conf.xml 对应生成的
Propel::init('/var/www/infor96/conf/runtime-conf.php');
include_once 'infor96/User.php';
//=======================================================
// INSERT 示例
//=======================================================
$user = new User();
$user->setUid("Nio");
$user->setPwd("test");
$user->setName("Krazy Nio");
// 将设置的数据信息保存到数据库中,实际后台是执行了 INSERT 操作
$user->save();
//=======================================================
// SELECT 示例
//=======================================================
$c = new Criteria();
$c->add(UserPeer::UID, "io%", Criteria::LIKE);
$c->setLimit(10); // 设置选择的记录数,相当于 MySQL 中的 LIMIT
$users = UserPeer::doSelect($c);
if ($users) {
echo '<p>找到了如何条件的用户!</p>';
foreach($users as $user)
echo '<br/>帐号:' . $user->getUid() . ",姓名:" . $user->getName();
} //end if
?>
嗯,今天的实践总结就写到这里吧,至少已经明白了原理及实现过程。
from:http://hi.baidu.com/propel/blog/item/fe0cf9fc2be5ae83b801a07a.html
