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+DBM的同学录程序(5)
Oct 09 PHP
PHP安装攻略:常见问题解答(三)
Oct 09 PHP
用 PHP5 轻松解析 XML
Dec 04 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(三)
Jun 23 PHP
php实现仿写CodeIgniter的购物车类
Jul 29 PHP
PHP迭代与递归实现无限级分类
Aug 28 PHP
PHP面向对象五大原则之单一职责原则(SRP)详解
Apr 04 PHP
PHP绕过open_basedir限制操作文件的方法
Jun 10 PHP
利用PHP扩展Xhprof分析项目性能实践教程
Sep 05 PHP
PHP实现支持CURL字符串证书传输的方法
Mar 23 PHP
PHP实现财务审核通过后返现金额到客户的功能
Jul 04 PHP
PHP超级全局变量【$GLOBALS,$_SERVER,$_REQUEST等】用法实例分析
Dec 11 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 curl模拟登录带验证码的网站
2015/11/30 PHP
PHP图形操作之Jpgraph学习笔记
2015/12/25 PHP
Yii 2.0在Grid中格式化时间方法示例
2017/06/06 PHP
Laravel6.0.4中将添加计划任务事件的方法步骤
2019/10/15 PHP
javascript动态改变img的src属性图片不显示的解决方法
2010/10/20 Javascript
jquery的extend和fn.extend的使用说明
2011/01/09 Javascript
jquery jqPlot API 中文使用教程(非常强大的图表工具)
2011/08/15 Javascript
详解jQuery插件开发中的extend方法
2013/11/19 Javascript
document.forms[].submit()使用介绍
2014/02/19 Javascript
javascript里绝对用的上的字符分割函数总结
2014/07/31 Javascript
node.js使用require()函数加载模块
2014/11/26 Javascript
jQuery实现仿淘宝带有指示条的图片转动切换效果完整实例
2015/03/04 Javascript
jquery使用remove()方法删除指定class子元素
2015/03/26 Javascript
Javascript通过overflow控制列表闭合与展开的方法
2015/05/15 Javascript
JavaScript实现对下拉列表值进行排序的方法
2015/07/15 Javascript
Eclipse引入jquery报错如何解决
2015/12/01 Javascript
详解nodejs中exports和module.exports的区别
2017/02/17 NodeJs
AngularJS解决ng-if中的ng-model值无效的问题
2017/06/21 Javascript
通过nodejs 服务器读取HTML文件渲染到页面的方法
2018/05/17 NodeJs
vue插件实现v-model功能
2018/09/10 Javascript
微信JS-SDK实现微信会员卡功能(给用户微信卡包里发送会员卡)
2019/07/25 Javascript
原生javascript制作的拼图游戏实现方法详解
2020/02/23 Javascript
VUE : vue-cli中去掉路由中的井号#操作
2020/09/04 Javascript
[03:36]2014DOTA2 TI小组赛综述 八强诞生进军钥匙球馆
2014/07/15 DOTA
[01:07:41]IG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python struct.unpack
2008/09/06 Python
pytorch 把MNIST数据集转换成图片和txt的方法
2018/05/20 Python
PyCharm GUI界面开发和exe文件生成的实现
2020/03/04 Python
Python中logging日志记录到文件及自动分割的操作代码
2020/08/05 Python
Python爬虫实战案例之爬取喜马拉雅音频数据详解
2020/12/07 Python
Herschel Supply Co.美国:背包、手提袋及配件
2020/11/24 全球购物
函授毕业自我鉴定
2013/12/19 职场文书
保卫钓鱼岛口号
2014/06/20 职场文书
婚礼双方父亲致辞
2015/07/27 职场文书
话题作文之生命的旋律
2019/12/17 职场文书
vue3种table表格选项个数的控制方法
2022/04/14 Vue.js