php链式操作的实现方式分析


Posted in PHP onAugust 12, 2019

本文实例讲述了php链式操作的实现方式。分享给大家供大家参考,具体如下:

类似$db->where("id=1")->limit("5")->order("id desc"),链式操作的实现方式

先讲下方法的常规调用;

namespace Com;
class Database{
  function where($where){
    echo $where;
  }
  function order($order){
    echo $order;
  }
  function limit($limit){
    echo $limit;
  }
}

调用

$db = new \Com\Database();
$db->where();
$db->limit();

缺点:实现多个方法需要多行调用;

链式操作,在方法返回return $this;即可使用链式操作;

namespace Com;
class Database{
  function where($where){
    echo $where;
    return $this;
  }
  function order($order){
    echo $order;
    return $this;
  }
  function limit($limit){
    echo $limit;
    return $this;
  }
}

使用链式调用:

$db = new \Com\Database();
$db->where("id=1")->limit("5")->order("id desc");

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
浅谈PHP 闭包特性在实际应用中的问题
Oct 30 PHP
Ajax PHP 边学边练 之三 数据库
Nov 26 PHP
php笔记之:数据类型与常量的使用分析
May 14 PHP
php curl获取网页内容(IPV6下超时)的解决办法
Jul 16 PHP
php遍历文件夹和文件列表示例分享
Mar 11 PHP
PHP中4种常用的抓取网络数据方法
Jun 04 PHP
PHP开发Apache服务器配置
Jul 15 PHP
PHP设计模式之迭代器模式
Jun 17 PHP
php中简单的对称加密算法实现
Jan 05 PHP
PHP关键特性之命名空间实例详解
May 06 PHP
Ubuntu中支持PHP5与PHP7双版本的简单实现
Aug 19 PHP
Laravel 6.2 中添加了可调用容器对象的方法
Oct 22 PHP
基于PHP实现微信小程序客服消息功能
Aug 12 #PHP
php swoole多进程/多线程用法示例【基于php7nts版】
Aug 12 #PHP
PHP基于swoole多进程操作示例
Aug 12 #PHP
PHP swoole和redis异步任务实现方法分析
Aug 12 #PHP
php使用pecl方式安装扩展操作示例
Aug 12 #PHP
PHP实现与java 通信的插件使用教程
Aug 11 #PHP
PHP利用DWZ.CN服务生成短网址
Aug 11 #PHP
You might like
第十三节 对象串行化 [13]
2006/10/09 PHP
聊天室php&mysql(三)
2006/10/09 PHP
php下利用curl判断远程文件是否存在的实现代码
2011/10/08 PHP
ThinkPHP模板范围判断输出In标签与Range标签用法详解
2014/06/30 PHP
PHP文件上传问题汇总(文件大小检测、大文件上传处理)
2015/12/24 PHP
php图片合成方法(多张图片合成一张)
2017/11/25 PHP
js opener的使用详解
2014/01/11 Javascript
Nodejs实现多人同时在线移动鼠标的小游戏分享
2014/12/06 NodeJs
javascript中return,return true,return false三者的用法及区别
2015/11/17 Javascript
javaScript中定义类或对象的五种方式总结
2016/12/04 Javascript
Vue 2.0+Vue-router构建一个简单的单页应用(附源码)
2017/03/14 Javascript
js控制文本框禁止输入特殊字符详解
2017/04/07 Javascript
Angular实现的简单查询天气预报功能示例
2017/12/27 Javascript
vue动态注册组件实例代码详解
2019/05/30 Javascript
jQuery实现轮播图效果
2019/11/26 jQuery
解决vue单页面多个组件嵌套监听浏览器窗口变化问题
2020/07/30 Javascript
[03:01]完美世界DOTA2联赛PWL S2 集锦第二期
2020/12/03 DOTA
详解Python3中yield生成器的用法
2015/08/20 Python
python安装与使用redis的方法
2016/04/19 Python
django之常用命令详解
2016/06/30 Python
详解python并发获取snmp信息及性能测试
2017/03/27 Python
在Tensorflow中实现梯度下降法更新参数值
2020/01/23 Python
用python实现一个简单的验证码
2020/12/09 Python
CSS3属性选择符介绍
2008/10/17 HTML / CSS
html5绘制时钟动画
2014/12/15 HTML / CSS
Hotter Shoes美国官网:英国最受欢迎的舒适鞋
2018/08/02 全球购物
卡骆驰德国官方网站:Crocs德国
2019/03/29 全球购物
Cynthia Rowley官网:全球领先的生活方式品牌
2020/10/27 全球购物
什么是用户模式(User Mode)与内核模式(Kernel Mode) ?
2014/07/21 面试题
奥巴马演讲稿
2014/01/08 职场文书
计算机售后服务承诺书
2014/05/30 职场文书
企业法人代表任命书
2014/06/06 职场文书
师范类求职信
2014/06/21 职场文书
讲文明懂礼貌演讲稿
2014/09/11 职场文书
redis sentinel监控高可用集群实现的配置步骤
2022/04/01 Redis
Spring Cloud OAuth2实现自定义token返回格式
2022/06/25 Java/Android