Home  >  Article  >  Backend Development  >  关于propel--PHP

关于propel--PHP

WBOY
WBOYOriginal
2016-06-23 14:33:331147browse

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:integrated php with vs.netNext article:PHP函数: set_time_limit