PHP实现链式操作的核心思想


Posted in PHP onJune 23, 2015

PHP 链式操作的实现

 

 $db->where()->limit()->order();

 

在 Common 下创建 Database.php。

链式操作最核心的地方在于:在方法的最后 return $this;

Database.php:

<?php
namespace Common;

class Database{
  function where($where){
    return $this;  //链式方法最核心的地方在于:在每一个方法之后 return $this
  }
  function order($order){
    return $this;
  }
  function limit($limit){
    return $this;
  }
}

index.php:

<?php
define('BASEDIR',__DIR__); //定义根目录常量
include BASEDIR.'/Common/Loader.php';
spl_autoload_register('\\Common\\Loader::autoload');

$db = new \Common\Database(); 

//传统的操作需要多行代码实现
//$db->where('id = 1');
//$db->where('name = 2');
//$db->order('id desc');
//$db->limit(10);

//使用链式操作,一行代码解决问题
$db->where('id = 1')->where('name = 2')->order('id desc')->limit(10);

在使用链式操作时,ide(netbeans 会给出自动提示):

 PHP实现链式操作的核心思想

PHP 相关文章推荐
第十节 抽象方法和抽象类 [10]
Oct 09 PHP
php下获取Discuz论坛登录用户名、用户组、用户ID等信息的实现代码
Dec 29 PHP
表格展示无限级分类(PHP版)
Aug 21 PHP
使用Sphinx对索引进行搜索
Jun 25 PHP
PHP判断变量是否为0的方法
Feb 08 PHP
php调用C代码的实现方法
Mar 11 PHP
PHP中如何判断exec函数执行成功?
Aug 04 PHP
深入浅析Yii admin的权限控制
Aug 31 PHP
php微信公众平台开发(一) 配置接口
Dec 06 PHP
php实现生成带二维码图片并强制下载功能
Feb 24 PHP
java解析json方法总结
May 16 PHP
php设计模式之工厂方法模式分析【星际争霸游戏案例】
Jan 23 PHP
PHP魔术方法的使用示例
Jun 23 #PHP
8个PHP数组面试题
Jun 23 #PHP
php中 ob_start等函数截取标准输出的方法
Jun 22 #PHP
php发送邮件的问题详解
Jun 22 #PHP
PHP获取音频文件的相关信息
Jun 22 #PHP
php生成PDF格式文件并且加密
Jun 22 #PHP
用PHP生成excel文件到指定目录
Jun 22 #PHP
You might like
php计算给定时间之前的函数用法实例
2015/04/03 PHP
详解PHP错误日志的获取方法
2015/07/20 PHP
JQuery中html()方法使用不当带来的陷阱
2011/04/07 Javascript
jquery获得option的值和对option进行操作
2013/12/13 Javascript
JsRender实用入门教程
2014/10/31 Javascript
jquery插件unobtrusive实现片段式加载
2015/06/15 Javascript
基于WebUploader的文件上传js插件
2016/08/19 Javascript
bootstrap fileinput 上传插件的基础使用
2017/02/17 Javascript
了解VUE的render函数的使用
2017/06/08 Javascript
用户管理的设计_jquery的ajax实现二级联动效果
2017/07/13 jQuery
全面解析jQuery中的$(window)与$(document)的用法区别
2017/08/15 jQuery
js计时事件实现圆形时钟
2020/03/25 Javascript
微信小程序开发之获取用户手机号码(php接口解密)
2020/05/17 Javascript
从零学python系列之从文件读取和保存数据
2014/05/23 Python
Python实现的几个常用排序算法实例
2014/06/16 Python
python字符串连接的N种方式总结
2014/09/17 Python
Windows下安装python MySQLdb遇到的问题及解决方法
2017/03/16 Python
详解使用python的logging模块在stdout输出的两种方法
2017/05/17 Python
Python数据操作方法封装类实例
2017/06/23 Python
基于Python的XSS测试工具XSStrike使用方法
2017/07/29 Python
Python可变和不可变、类的私有属性实例分析
2019/05/31 Python
Django中信号signals的简单使用方法
2019/07/04 Python
tensorflow之自定义神经网络层实例
2020/02/07 Python
解决Pycharm 导入其他文件夹源码的2种方法
2020/02/12 Python
pip install 使用国内镜像的方法示例
2020/04/03 Python
Python实现GIF图倒放
2020/07/16 Python
浅谈html5 video 移动端填坑记
2018/01/15 HTML / CSS
印尼第一大家居、生活和家具电子商务:Ruparupa
2019/11/25 全球购物
办公室前台岗位职责
2014/01/04 职场文书
2014升学宴答谢词
2014/01/26 职场文书
副职竞争上岗演讲稿
2014/05/12 职场文书
支行行长竞聘演讲稿
2014/05/15 职场文书
nginx 反向代理之 proxy_pass的实现
2021/03/31 Servers
python实现监听键盘
2021/04/26 Python
配置nginx 重定向到系统维护页面
2021/06/08 Servers
navicat 连接Ubuntu虚拟机的mysql的操作方法
2022/04/02 MySQL