php面向对象链,php面向对象之链式操作
在一些框架中,比如说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面向对象之链式操作相关推荐
- 大话PHP设计模式:类自动载入、PSR-0规范、链式操作、11种面向对象设计模式实现和使用、OOP的基本原则和自动加载配置...
一.类自动载入 SPL函数 (standard php librarys) 类自动载入,尽管 __autoload() 函数也能自动加载类和接口,但更建议使用 spl_autoload_registe ...
- 游客功能怎么实现 php,php链式操作的实现方式分析
本文实例讲述了php链式操作的实现方式.分享给大家供大家参考,具体如下: 类似$db->where("id=1")->limit("5")-> ...
- 简单粗暴地理解js原型链–js面向对象编程
简单粗暴地理解js原型链–js面向对象编程 作者:茄果 链接:http://www.cnblogs.com/qieguo/archive/2016/05/03/5451626.html 原型链理解起来 ...
- 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. ...
- Php 链式执行,PHP实现链式操作的三种方法详解
本文实例讲述了PHP实现链式操作的三种方法.分享给大家供大家参考,具体如下: 在php中有很多字符串函数,例如要先过滤字符串收尾的空格,再求出其长度,一般的写法是: strlen(trim($str) ...
- BC之链式块状结构:区块链之链式块状结构——链式块状结构、内容相关配图
BC之链式块状结构:区块链之链式块状结构--链式块状结构.内容相关配图 目录 区块链之链式块状结构.内容相关配图 1.区块链结构 区块链之链式块状结构.内容相关配图 1.区块链结构
- jquery链式写法 java_jQuery链式操作
两个问题 1.jQuery的链式操作是如何实现的? 2.为什么要用链式操作? 大家认为这两个问题哪个好回答一点呢? 链式操作 原理相信百度一下一大把,实际上链式操作仅仅是通过对象上的方法最后 retu ...
- jQuery的链式操作
什么是链式操作呢?我们来看看,本来应该写 成这样子的: $(".stripe tr").mouseover(function(){$(this).addClass("ov ...
- PHP中的__toString方法(实现JS里的链式操作)
_toString方法是在打印对象时自动调用的魔术方法,如果不声明会报以下错 Catchable fatal error: Object of class String could not be co ...
最新文章
- 机器人“快递小哥”上岗了!京东配送机器人编队长沙亮相
- Nacos分布式应用配置管理
- 服务器版Windows7系统,windows7服务器版本
- python二维向量运算模拟_Python数学基础之向量定义与向量运算(附代码)
- leancloud上传php源码部署,部署灵动云商到LeanCloud[图解]
- matlab anova 如何不画图,方差分析的数据处理和作图
- 软件工程网络15个人阅读作业1(201521123062 杨钧宇)
- Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
- Storm编译打包过程中遇到的一些问题及解决方法
- uuid.randomuuid()回重复么_【编译器玄学研究报告】第三期——“O0” 就能逃出优化的魔爪么?...
- 计算机技术在音乐专业中的应用与探索,计算机技术在音乐教学中的应用与研究...
- python em和web_浅析Python的web.py框架中url的设定方法
- shiro设置session超时时间
- 2021-6-25 组态王与modbus rtu从机STM32精英开发板通信
- tushare 获取复权数据
- 计算机与经济学:天造地设的一对
- php自学难_php难吗?自学要多久?需要报培训班吗?
- office for Mac 2016/2019 百度云分享
- windows使用命令行创建文件echo >test.txt(可以是.gp .js .ts..)
- 初中计算机考试的题型,教师资格证考试中学信息技术科目题型及分值分布,快看!...