首页 >后端开发 >php教程 >关于propel--PHP

关于propel--PHP

WBOY
WBOY原创
2016-06-23 14:33:331169浏览

我不知道有谁用过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 就是这么干的.结果我想用一个文件就够了.

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn