首頁  >  文章  >  後端開發  >  关于propel--PHP

关于propel--PHP

WBOY
WBOY原創
2016-06-23 14:33:331147瀏覽

我不知道有谁用过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