CodeIgniter连贯操作的底层原理分析
2016-08-22来源:易贤网

本文分析了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程序设计有所帮助。

2025公考·省考培训课程试听预约报名

  • 报班类型
  • 姓名
  • 手机号
  • 验证码
推荐信息