Creole & Propel 研究与实践(1)
Hibernate 的出现给了 Java 开发者莫大的惊喜,这个开源的 ORM(对象关系映射框架)对 JDBC 进行了轻量级的包装,使得开发人员可以使用 OO 的思想来操作关系数据库。而在 PHP 中,随着 PHP 5 的发布,OO 编程也开始慢慢完善,于是就出现了类似 Hibernate、Apache Torque 的 Propel,其对数据库抽象层 Creole 进行了封装,试图达到 Apache Torque 的效果。在后半年中,我将抽空对其进行研究,希望能找到 PHP 的另一片天地。

一切之前,最为重要的当然是需要安装 PHP 5 了,由于我的 Redhat 系统中已经安装了 Apache、MySQL & PHP,所以只需重新编译安装 PHP 5 即可。在官方网站下载了 PHP 5.0.1,编译安装(xslt 等均需要用到):
$ ./configure --prefix=/usr --with-config-file-path=/etc --with-mysql=/usr/local/mysql --with-apxs=/usr/local/apache/bin/apxs --enable-xslt --with-xslt-sablot --with-expat-dir=/usr --with-iconv $ make $ make install
PHP 安装完毕,下一步是安装 Creole:
$ pear install http://creole.phpdb.org/pear/creole-current.tgz $ pear install http://creole.phpdb.org/pear/jargon-current.tgz
最后安装 Propel,我是直接从 CVS 获取最新代码的:
$ cvs -d :pserver:guest@cvs.tigris.org:/cvs login Password: [guest] $ cvs -d :pserver:guest@cvs.tigris.org:/cvs checkout propel $ mv propel/propel /usr/local/ $ mv propel/propel-generator /usr/local/
然后修改 php.ini 中的 include_path:
include_path="/usr/local/lib/php:/usr/local/propel/classes"
使其包含 propel 的 classes 目录路径。另外还需要注意几个 PHP 的设置参数是否正确:
ze1_compatibility_mode Off magic_quotes_gpc Off magic_quotes_sybase Off register_globals Off(此参数实际上对于 Propel 不会有影响,但 Propel 并不要求其设置成 On,所以出于安全考虑,还是设置成 Off 吧)
好了,一切准备就绪,马上就可以开始我的研究工作了,嘻嘻 ![]()
