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 相关文章推荐
php获取本地图片文件并生成xml文件输出具体思路
Apr 27 PHP
php 深入理解strtotime函数的使用详解
May 23 PHP
php实现httpclient类示例
Apr 08 PHP
CI框架中集成CKEditor编辑器的教程
Jun 09 PHP
PHP图像处理之使用imagecolorallocate()函数设置颜色例子
Nov 19 PHP
PHP实现的一致性哈希算法完整实例
Nov 14 PHP
详解WordPress中添加和执行动作的函数使用方法
Dec 29 PHP
WordPress中限制非管理员用户在文章后只能评论一次
Dec 31 PHP
PHP编程快速实现数组去重的方法详解
Jul 22 PHP
PHP静态延迟绑定和普通静态效率的对比
Oct 20 PHP
php+ajax实现无刷新文件上传功能(ajaxuploadfile)
Feb 11 PHP
PHP反射学习入门示例
Jun 14 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
桌面中心(三)修改数据库
2006/10/09 PHP
PHP实现时间轴函数代码
2011/10/08 PHP
PHP中的多行字符串传递给JavaScript的两种方法
2014/06/19 PHP
基于jquery的网站幻灯片切换效果焦点图代码
2013/09/15 Javascript
jQuery表单美化插件jqTransform使用详解
2015/04/12 Javascript
AngularJS基础学习笔记之指令
2015/05/10 Javascript
谈一谈bootstrap响应式布局
2016/05/23 Javascript
Jquery通过ajax请求NodeJS返回json数据实例
2016/11/08 NodeJs
js实现用户输入的小写字母自动转大写字母的方法
2017/01/21 Javascript
angularjs实现柱状图动态加载的示例
2017/12/11 Javascript
JavaScript查看代码运行效率console.time()与console.timeEnd()用法
2019/01/18 Javascript
微信小程序背景音乐开发详解
2019/12/12 Javascript
理解Proxy及使用Proxy实现vue数据双向绑定操作
2020/07/18 Javascript
jQuery实现电梯导航模块
2020/12/22 jQuery
Python代码的打包与发布详解
2014/07/30 Python
深入理解Python3中的http.client模块
2017/03/29 Python
Python爬虫DNS解析缓存方法实例分析
2017/06/02 Python
关于pycharm中pip版本10.0无法使用的解决办法
2019/10/10 Python
python自动化实现登录获取图片验证码功能
2019/11/20 Python
python正则表达式匹配IP代码实例
2019/12/28 Python
python操作docx写入内容,并控制文本的字体颜色
2020/02/13 Python
Python接口测试get请求过程详解
2020/02/28 Python
tensorflow转换ckpt为savermodel模型的实现
2020/05/25 Python
使用TensorBoard进行超参数优化的实现
2020/07/06 Python
一款纯css3实现的漂亮的404页面的实例教程
2014/11/27 HTML / CSS
美国第一个网上卖鞋零售商:OnlineShoes.com
2017/09/24 全球购物
明星员工获奖感言
2014/08/14 职场文书
学校党委副书记个人对照检查材料思想汇报
2014/09/28 职场文书
民主评议政风行风活动心得体会
2014/10/29 职场文书
法律讲堂观后感
2015/06/11 职场文书
中学校园广播稿
2015/08/18 职场文书
pytorch 预训练模型读取修改相关参数的填坑问题
2021/06/05 Python
Java并发编程之详解CyclicBarrier线程同步
2021/06/23 Java/Android
浅谈自定义校验注解ConstraintValidator
2021/06/30 Java/Android
javascript遍历对象的五种方式实例代码
2021/10/24 Javascript
Java 定时任务技术趋势简介
2022/05/04 Java/Android