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

 更新时间:2016年5月20日 10:11  点击:1475

本文分析了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相关内容感兴趣的读者可查看本站专题:《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《php优秀开发框架总结》、《ThinkPHP入门教程》、《ThinkPHP常用方法总结》、《Zend FrameWork框架入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家基于CodeIgniter框架的PHP程序设计有所帮助。

[!--infotagslink--]

相关文章

  • CI(CodeIgniter)模型用法实例分析

    这篇文章主要介绍了CI(CodeIgniter)模型用法,结合实例形式分析了CodeIgniter框架中模型的功能、使用方法与相关注意事项,需要的朋友可以参考下...2016-01-23
  • PHP CodeIgniter学习笔记详解

    今天做的是个简单的表明表页面,前端我用的是Bootstrap。没办法,自己不懂美工,也只有用别人的工具。BS真的很漂亮,而且插件丰富,不愧是twitter工程师弄出来的东西。 (中...2016-11-25
  • Codeigniter+flash实现Avatar头像上传的程序

    头像上传功能我们用到最多的就简单的flash+php来实现上传前剪切图片然后达到我们想要的效果了,下面我来给各位整理几个基于ci整合Avatar头像上传功能,希望例子能帮助到...2016-11-25
  • CodeIgniter配置之SESSION用法实例分析

    这篇文章主要介绍了CodeIgniter配置之SESSION用法,结合实例形式分析了PHP中session的运行原理并演示了CI框架下session的配置与使用方法,需要的朋友可以参考下...2016-01-21
  • CodeIgniter配置之config.php用法实例分析

    这篇文章主要介绍了CodeIgniter配置之config.php用法,结合实例形式详细的分析了CodeIgniter中配置文件config.php的参数含义及具体使用技巧,需要的朋友可以参考下...2016-01-21
  • CodeIgniter配置之database.php用法实例分析

    这篇文章主要介绍了CodeIgniter配置之database.php用法,结合实例形式较为详细的分析总结了CodeIgniter常用的数据库连接方式,需要的朋友可以参考下...2016-01-23
  • nginx支持codeigniter的pathinfo模式url重写配置写法示例

    这篇文章主要介绍了nginx支持codeigniter的pathinfo模式url重写配置写法示例,pathinfo模式是一种开发框架都爱用的路由模式,需要的朋友可以参考下...2016-01-27
  • CodeIgniter表单验证方法实例详解

    这篇文章主要介绍了CodeIgniter表单验证方法,结合实例形式详细分析了CodeIgniter进行表单验证的具体步骤与相关实现技巧,需要的朋友可以参考下...2016-03-07
  • Codeigniter控制器controller继承问题实例分析

    这篇文章主要介绍了Codeigniter控制器controller继承问题,以简单实例形式分析了CodeIgniter中针对控制器controller继承的实现与使用方法,需要的朋友可以参考下...2016-01-21
  • 开源PHP框架: CodeIgniter 1.6.0发布

    CodeIgniter 是一套给 PHP 网站开发者使用的应用程序开发框架和工具包。她提供一套丰富的标准库以及简单的接口和逻辑结构,其目的是使开发人员更快速地进行项目开发。...2016-11-25
  • CodeIgniter视图使用注意事项

    这篇文章主要介绍了CodeIgniter视图使用注意事项,分析说明了CodeIgniter视图的加载、定义及模板与函数的使用方法,需要的朋友可以参考下...2016-01-23
  • CodeIgniter多语言实现方法详解

    这篇文章主要介绍了CodeIgniter多语言实现方法,结合实例形式较为详细的分析了CodeIgniter实现多语言的具体步骤、实现方法与相关注意事项,需要的朋友可以参考下...2016-01-23
  • CodeIgniter创建一个简单的注册系统

    本文章来给大家介绍CodeIgniter创建一个简单的注册系统,CodeIgniter 是一个简单快速的PHP MVC 框架。 CodeIgniter 不需要大量代码,也不会要求您插入类似于 PEAR 的庞...2016-11-25
  • CodeIgniter配置之autoload.php自动加载用法分析

    这篇文章主要介绍了CodeIgniter配置之autoload.php自动加载用法,结合实例形式较为详细的分析了CodeIgniter自动加载机制的原理与使用方法,需要的朋友可以参考下...2016-01-23
  • CodeIgniter针对数据库的连接、配置及使用方法

    这篇文章主要介绍了CodeIgniter针对数据库的连接、配置及使用方法,结合实例形式分析了CodeIgniter针对数据库的连接配置及常用操作技巧,需要的朋友可以参考下...2016-03-07
  • php codeigniter框架分页类

    codeigniter 具有非常容易使用的分页类。在本教程中我会做一个从数据库教程返回一组结果并分页这些结果的简单例子。我将使用最新版本的 ci。分页类并没有修改(至少我...2016-11-25
  • CodeIgniter记录错误日志的方法全面总结

    这篇文章主要介绍了CodeIgniter记录错误日志的方法,详细分析了CodeIgniter框架的文件结构与相应的功能,结合实例分析了CodeIgniter框架记录错误日志的实现技巧,并分析了隐藏index文件与数据传输等技巧,总结非常全面,需要的朋友可以参考下...2016-05-20
  • CodeIgniter辅助之第三方类库third_party用法分析

    这篇文章主要介绍了CodeIgniter辅助之第三方类库third_party用法,以CI集成Twig模版为例分析了CodeIgniter集成第三方类库的实现步骤与相关技巧,需要的朋友可以参考下...2016-01-23
  • Codeigniter利用PHPExcel导出Excel文件

    在php中我们如果要导入excel文件我们会直接使用php输出csv文件或者使用phpexcel直接生成excel文件,下面我再来介绍Codeigniter利用PHPExcel导出Excel文件具体实现方法,...2016-11-25
  • CodeIgniter配置之routes.php用法实例分析

    这篇文章主要介绍了CodeIgniter配置之routes.php用法,结合实例形式分析了routes.php中常用配置参数的含义及具体使用技巧,需要的朋友可以参考下...2016-01-21