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

yipeiwu_com6年前PHP代码库

本文实例讲述了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数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

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

相关文章

PHP7.1实现的AES与RSA加密操作示例

本文实例讲述了PHP7.1实现的AES与RSA加密操作。分享给大家供大家参考,具体如下: AES: <?php header('Content-Type: text/p...

PHP编辑器PhpStrom运行缓慢问题

最近在使用phpstorm开发项目的时候,在加载文件运行时,不管有多大,如果项目文件数据比较多的话,都能够让phpstorm卡到死机。其中调整过内存设置,关闭过动态提示,使用过phpst...

PHP解决中文乱码

在php中,中文乱码非常头疼,很麻烦,所以根据在编程的经验,总结以下方法(以utf_8为例), 1.php中在头部header设置编码方式 header("Content-type:te...

详解PHP序列化和反序列化原理

0.前言 对象的序列化和反序列化作用就不再赘述,php中序列化的结果是一个php自定义的字符串格式,有点类似json. 我们在任何语言中设计对象的序列化和反序列化都需要解决几个问题 把某...

基于php下载文件的详解

php下载文件,比如txt文件。出现的效果就是,弹出浏览器自带的下载框,出现另存为操作。有时候会出现内存溢出和超时的现象。超时的话,设置set_time_limit(0);出现内存溢出的...