abstract:本文分析了CodeIgniter连贯操作的底层原理。分享给大家供大家参考,具体如下:php oop连贯操作原理->符号其实是传递对象指针的。或许这么说是不对的。但是,我们可以这么的理解。不多说。放代码。普通用法:本文分析了CodeIgniter连贯操作的底层原理。分享给大家供大家参考,具体如下:
php oop连贯操作原理
->符号其实是传递对象指针的。或许这么说是不对的。
但是,我们可以这么的理解。
不多说。放代码。
普通用法:
a="hello"; return $this; } public function actionb() { $this->b="world"; return $this; } public function actionc() { echo $this->a." ".$this->b; } } $oktest=new test(); $oktest->actiona(); $oktest->actionb(); $oktest->actionc(); ?>连贯用法:
a="hello"; return $this; } public function actionb() { $this->b="world"; return $this; } public function actionc() { echo $this->a." ".$this->b; } } $oktest=new test(); $oktest->actiona()->actionb()->actionc(); ?>看到了没有。
连起来了。可以把操作串起来。
看起来直观多了。阅读代码时也轻松了很多。
类里面操作都返回了一个指针。
$this.
他等价于你初始化的那个对象 $oktest
所以下面的操作可以连续起来。
试着去掉每个操作里的
return $this你将会看到错误提示。
例子:
from=$_from; return $this; } public function where($_where='WHERE 1=1') { $this->where=$_where; return $this; } public function order($_order='ORDER BY id DESC') { $this->order=$_order; return $this; } public function limit($_limit='LIMIT 0,30') { $this->limit=$_limit; return $this; } public function SELECT($_SELECT='SELECT *') { $this->SELECT=$_SELECT; return $this->SELECT." ".$this->from." ".$this->where." ".$this->order." ".$this->limit; } } $sql =new sql(); echo $sql->from()->where()->order()->limit()->SELECT(); ?>更多关于CodeIgniter连贯操作的底层原理分析请关注PHP中文网(m.sbmmt.com)其他文章!