在一些框架中,比如说thinkphp中,会经常使用

where('id',1)->find();

}

}

?>

其中:

//这就是一种链式操作

Db::table('think_user')->where('id',1)->find();

像这种操作如何实现,原理就是在类中的方法中最后要有:

return $this;

例子:

value = $value;

}

function getValue($value){

$this->value = substr($value,0,2);

//返回$this

return $this;

}

function getStrlen() {

//这里是需要执行的结果,不需要返回$this,

//如果不是需要执行的解决过,而且还要继续进行链式操作,则需要:return $this;

return $this->value;

}

}

$str = new StringHelper("test");

echo $str->getValue('allen')->getStrlen();

?>

如果想要在链接操作中直接使用php的原生函数做为一个功能操作,就需要__call()进行重载。

value = call_user_func($function, $args[0]);

return $this;

}

function getValue(){

$this->value = substr($this->value,0,2);

//返回$this

return $this;

}

function getStrlen() {

//这里是需要执行的结果,不需要返回$this,

//如果不是需要执行的解决过,而且还要继续进行链式操作,则需要:return $this;

return $this->value;

}

}

$str = new StringHelper();

echo $str->trim('test')->getValue()->getStrlen();

?>

链式操作主要还是简化了书写过程一些不必要的步骤。代码阅读话更容易理解

文章来源: www.oschina.net,作者:我是三代码农,版权归原作者所有,如需转载,请联系作者。

原文链接:https://my.oschina.net/u/4427611/blog/3153343

php面向对象链,php面向对象之链式操作相关推荐

  1. 大话PHP设计模式:类自动载入、PSR-0规范、链式操作、11种面向对象设计模式实现和使用、OOP的基本原则和自动加载配置...

    一.类自动载入 SPL函数 (standard php librarys) 类自动载入,尽管 __autoload() 函数也能自动加载类和接口,但更建议使用 spl_autoload_registe ...

  2. 游客功能怎么实现 php,php链式操作的实现方式分析

    本文实例讲述了php链式操作的实现方式.分享给大家供大家参考,具体如下: 类似$db->where("id=1")->limit("5")-> ...

  3. 简单粗暴地理解js原型链–js面向对象编程

    简单粗暴地理解js原型链–js面向对象编程 作者:茄果 链接:http://www.cnblogs.com/qieguo/archive/2016/05/03/5451626.html 原型链理解起来 ...

  4. python和R对dataframe的拼接、采样、链式操作:dplyr、tidyr、concat、rbind、cbind、sample、sample_n、set.seed、mutate、filter

    python和R对dataframe的拼接.采样.链式操作:dplyr.tidyr.concat.rbind.cbind.sample.sample_n.set.seed.mutate.filter. ...

  5. Php 链式执行,PHP实现链式操作的三种方法详解

    本文实例讲述了PHP实现链式操作的三种方法.分享给大家供大家参考,具体如下: 在php中有很多字符串函数,例如要先过滤字符串收尾的空格,再求出其长度,一般的写法是: strlen(trim($str) ...

  6. BC之链式块状结构:区块链之链式块状结构——链式块状结构、内容相关配图

    BC之链式块状结构:区块链之链式块状结构--链式块状结构.内容相关配图 目录 区块链之链式块状结构.内容相关配图 1.区块链结构 区块链之链式块状结构.内容相关配图 1.区块链结构

  7. jquery链式写法 java_jQuery链式操作

    两个问题 1.jQuery的链式操作是如何实现的? 2.为什么要用链式操作? 大家认为这两个问题哪个好回答一点呢? 链式操作 原理相信百度一下一大把,实际上链式操作仅仅是通过对象上的方法最后 retu ...

  8. jQuery的链式操作

    什么是链式操作呢?我们来看看,本来应该写 成这样子的: $(".stripe tr").mouseover(function(){$(this).addClass("ov ...

  9. PHP中的__toString方法(实现JS里的链式操作)

    _toString方法是在打印对象时自动调用的魔术方法,如果不声明会报以下错 Catchable fatal error: Object of class String could not be co ...

最新文章

  1. 机器人“快递小哥”上岗了!京东配送机器人编队长沙亮相
  2. Nacos分布式应用配置管理
  3. 服务器版Windows7系统,windows7服务器版本
  4. python二维向量运算模拟_Python数学基础之向量定义与向量运算(附代码)
  5. leancloud上传php源码部署,部署灵动云商到LeanCloud[图解]
  6. matlab anova 如何不画图,方差分析的数据处理和作图
  7. 软件工程网络15个人阅读作业1(201521123062 杨钧宇)
  8. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
  9. Storm编译打包过程中遇到的一些问题及解决方法
  10. uuid.randomuuid()回重复么_【编译器玄学研究报告】第三期——“O0” 就能逃出优化的魔爪么?...
  11. 计算机技术在音乐专业中的应用与探索,计算机技术在音乐教学中的应用与研究...
  12. python em和web_浅析Python的web.py框架中url的设定方法
  13. shiro设置session超时时间
  14. 2021-6-25 组态王与modbus rtu从机STM32精英开发板通信
  15. tushare 获取复权数据
  16. 计算机与经济学:天造地设的一对
  17. php自学难_php难吗?自学要多久?需要报培训班吗?
  18. office for Mac 2016/2019 百度云分享
  19. windows使用命令行创建文件echo >test.txt(可以是.gp .js .ts..)
  20. 初中计算机考试的题型,教师资格证考试中学信息技术科目题型及分值分布,快看!...

热门文章

  1. mysql学习day04-02
  2. php伪类,CSS3新增伪类
  3. Ubuntu Hudson 安装配置
  4. php全局变量global和$GLOBALS
  5. C++之父谈C++:一天之内你就能学会出色使用C++
  6. 从数据库获取数据到Servlet.
  7. centos7下安装oracle11gR2
  8. 【Android】Lenovo K860 framework-res.apk回编译失败解决办法
  9. 【转】惹恼程序员的十件事
  10. jz2440移植QT5.6【学习笔记】【原创】