标题 | CodeIgniter连贯操作的底层原理分析 |
内容 | 本文分析了CodeIgniter连贯操作的底层原理。分享给大家供大家参考,具体如下: php oop连贯操作原理 ->符号其实是传递对象指针的。或许这么说是不对的。 但是,我们可以这么的理解。 不多说。放代码。 普通用法: <?php class test { public $a=''; public $b=''; public function actiona() { $this->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(); ?> 连贯用法: <?php class test { public $a=''; public $b=''; public function actiona() { $this->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 你将会看到错误提示。 例子: <?php class sql{ public $select; public $from; public $where; public $order; public $limit; public function from($_from='FROM test') { $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程序设计有所帮助。 |
随便看 |
|
在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。