这种拼接为什么能生效呢

lghyt 发布于 2016/05/16 12:14
阅读 277
收藏 0
PHP

看到很多框架中sql句都被包装成了方法了,并且全是连写,如

$store_list = $this->field($field)->where($condition)->page($page)->order($order)->
limit($limit)->select();



这种箭头一个挨着一个的写法并且能生效,原因为啥呢?

加载中
0
技安
技安

每一个方法返回的是该类的一个实例,比如where方法

public function where()

{

    // 这里是具体实现


    return $this;

}

这样就可以了。

lghyt
lghyt
嗯,我一看源码果真如此,厉害!
0
loyal
loyal
返回this
0
tinshen
tinshen

学习一下lambda表达是吧。

你就懂了。

0
it1000001001
it1000001001

推荐你一个完全免费开源的PHP开发框架----zentaoPHP框架

http://devel.cnezsoft.com/page/zentaophp.html

简单易学,学习下源码,你就明白了。。比如

$this->dao->select('*')->from('user')->where('account')->eq('wwccss')->fetch();

0
程序兵
程序兵
这是think框架的sql语句吧
返回顶部
顶部