当前位置:Gxlcms > PHP教程 > 关于propel--PHP

关于propel--PHP

时间:2021-07-01 10:21:17 帮助过:6人阅读

我不知道有谁用过propel做过ORM,propel 效率还行,写起来像这样:

1. $author = new Author();

2. $author->setFirstName('Jane');

3. $author->setLastName('Austen');

4. $author->save();

这里的anthor 是author表对应的类,2,3,4非常清晰明白,firstname,和lastname是表中的字段名.这样用起来很方便.我看了一下它的model,把表中的字段映射成类和方法,写了六七个文件.但是我想,如果用rails 中的方法,未必要这么麻烦.ruby 的元编程中有一个method_missing,php模仿它弄了一个__call 函数.这两个函数一样的意思,就是说:假如我调用了一个不存在的方法,这个函数将会处理.

所以,我们就可以仿照rails,比如说,我虽然没有像propel那样写一堆文件去映射,但是我照样可以像propel那样写:

我可以写: $author->setFirstName('Jane');

可能你会问: 你根本就没有定义这个function,怎么用呢?答案是可以用_call 把函数名和参数都接过来,然后解析一下,就好象真的存在这样的函数了,rubyonrails 就是这么干的.结果我想用一个文件就够了.

人气教程排行