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 相关文章推荐
配置支持SSI
Nov 25 PHP
php 将bmp图片转为jpg等其他任意格式的图片
Jun 29 PHP
php fputcsv命令 写csv文件遇到的小问题(多维数组连接符)
May 24 PHP
PHP检测移动设备类mobile detection使用实例
Apr 14 PHP
PHP中使用Imagick读取pdf并生成png缩略图实例
Jan 21 PHP
PHP实现多文件上传的方法
Jul 08 PHP
PHP中对数组的一些常用的增、删、插操作函数总结
Nov 27 PHP
php5.3后静态绑定用法详解
Nov 11 PHP
微信 开发生成带参数的二维码的实例
Nov 23 PHP
PHP文件后缀不强制为.php方法
Mar 31 PHP
PHP接口类(interface)的定义、特点和应用示例
May 18 PHP
php TP5框架生成二维码链接
Apr 01 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
php判断页面是否是微信打开的示例(微信打开网页)
2014/04/25 PHP
PHP使用glob函数遍历目录或文件夹的方法
2014/12/16 PHP
深入浅析php json 格式控制
2015/12/24 PHP
Js 获取当前日期时间及其它操作实现代码
2021/03/04 Javascript
bgsound 背景音乐 的一些常用方法及特殊用法小结
2010/05/11 Javascript
另一个javascript小测验(代码集合)
2011/07/27 Javascript
Javascript基础教程之函数对象和属性
2015/01/18 Javascript
JavaScript使用function定义对象并调用的方法
2015/03/23 Javascript
JavaScript仿flash遮罩动画效果
2016/06/15 Javascript
node.js报错:Cannot find module 'ejs'的解决办法
2016/12/14 Javascript
JS对象深度克隆实例分析
2017/03/16 Javascript
Zepto实现密码的隐藏/显示
2017/04/07 Javascript
详解如何实现一个简单的Node.js脚手架
2017/12/04 Javascript
vue init webpack myproject构建项目 ip不能访问的解决方法
2018/03/20 Javascript
vue 实现通过手机发送短信验证码注册功能
2018/04/19 Javascript
JavaScript中toLocaleString()和toString()的区别实例分析
2018/08/14 Javascript
详解webpack+ES6+Sass搭建多页面应用
2018/11/05 Javascript
vue-cli3 项目优化之通过 node 自动生成组件模板 generate View、Component
2019/04/30 Javascript
javascript实现的时间格式加8小时功能示例
2019/06/13 Javascript
vue实践---vue不依赖外部资源实现简单多语操作
2020/09/21 Javascript
[45:50]完美世界DOTA2联赛PWL S3 CPG vs Forest 第二场 12.16
2020/12/17 DOTA
利用Django框架中select_related和prefetch_related函数对数据库查询优化
2015/04/01 Python
Python的time模块中的常用方法整理
2015/06/18 Python
Python实现获取本地及远程图片大小的方法示例
2018/07/21 Python
python根据txt文本批量创建文件夹
2020/12/08 Python
python 公共方法汇总解析
2019/09/16 Python
使用Django的JsonResponse返回数据的实现
2021/01/15 Python
html5 冒号分隔符对齐的实现
2019/07/31 HTML / CSS
怎样声明接口
2014/09/19 面试题
办公室文书岗位职责
2013/12/16 职场文书
2014年3.15团委活动总结
2014/03/16 职场文书
团结演讲稿范文
2014/05/23 职场文书
2014年学生会生活部工作总结
2014/11/07 职场文书
2014年个人教学工作总结
2014/12/09 职场文书
MySQL数据库必备之条件查询语句
2021/10/15 MySQL
Nginx配置使用详解
2022/07/07 Servers