找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 883|回复: 0
打印 上一主题 下一主题

CodeIgniter连贯操作的底层原理分析

[复制链接]

2588

主题

2588

帖子

7694

积分

论坛元老

Rank: 8Rank: 8

积分
7694
跳转到指定楼层
楼主
发表于 2018-2-14 05:36:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            本文分析了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相关内容感兴趣的读者可查看本站专题:《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《php优秀开发框架总结》、《ThinkPHP入门教程》、《ThinkPHP常用方法总结》、《Zend FrameWork框架入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总
希望本文所述对大家基于CodeIgniter框架的PHP程序设计有所帮助。
            
            
您可能感兴趣的文章:
  • CodeIgniter辅助之第三方类库third_party用法分析
  • CodeIgniter多语言实现方法详解
  • CodeIgniter钩子用法实例详解
  • CodeIgniter自定义控制器MY_Controller用法分析
  • CodeIgniter配置之autoload.php自动加载用法分析
  • CodeIgniter表单验证方法实例详解
  • CodeIgniter针对数据库的连接、配置及使用方法
  • Codeigniter中集成smarty和adodb的方法
  • CodeIgniter分页类pagination使用方法示例
  • CodeIgniter基于Email类发邮件的方法
  • CodeIgniter记录错误日志的方法全面总结
  • CodeIgniter生成静态页的方法
  • CodeIgniter常用知识点小结
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端