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获取本周,上周,本月,上月,本季度日期的代码
Aug 05 PHP
JpGraph php柱状图使用介绍
Aug 23 PHP
提示Trying to clone an uncloneable object of class Imagic的解决
Oct 27 PHP
两种设置php载入页面时编码的方法
Jul 29 PHP
PHP常见的6个错误提示及解决方法
Jul 07 PHP
PHP自定义函数格式化json数据示例
Sep 14 PHP
Yii2中使用asset压缩js,css文件的方法
Nov 24 PHP
PHP使用curl_multi实现并发请求的方法示例
Apr 29 PHP
php 调用百度sms来发送短信的实现示例
Nov 02 PHP
php+mysql开发的最简单在线题库(在线做题系统)完整案例
Mar 30 PHP
PHP使用Redis实现Session共享的实现示例
May 12 PHP
关于PHP求解三数之和问题详析
Nov 09 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 mysql索引问题
2008/06/07 PHP
PHP 常用函数库和一些实用小技巧
2009/01/01 PHP
php操作mysqli(示例代码)
2013/10/28 PHP
PHP扩展开发入门教程
2015/02/26 PHP
php的crc32函数使用时需要注意的问题(不然就是坑)
2015/04/21 PHP
php实现简单的上传进度条
2015/11/17 PHP
Zend Framework教程之Zend_Controller_Plugin插件用法详解
2016/03/07 PHP
PDO的安全处理与事物处理方法
2016/10/31 PHP
PHP实现二维数组去重功能示例
2017/01/12 PHP
laravel 使用事件系统统计浏览量的实现
2019/10/16 PHP
在网页中控制wmplayer播放器
2006/07/01 Javascript
IE8 原生JSON支持
2009/04/13 Javascript
JavaScript 入门基础知识 想学习js的朋友可以参考下
2009/12/26 Javascript
JS中的log对象获取以及debug的写法介绍
2014/03/03 Javascript
javascript实现2048游戏示例
2014/05/04 Javascript
JS实现的多张图片轮流播放幻灯片效果
2016/07/22 Javascript
web.js.字符串与正则表达式操作
2017/05/13 Javascript
JS实现多级菜单中当前菜单不随页面跳转样式而发生变化
2017/05/30 Javascript
详谈js原型继承的一些问题
2017/09/06 Javascript
ES6学习教程之模板字符串详解
2017/10/09 Javascript
JavaScript继承的特性与实践应用深入详解
2018/12/30 Javascript
vue实现匀速轮播效果
2020/06/29 Javascript
Python错误处理操作示例
2018/07/18 Python
用python生成1000个txt文件的方法
2018/10/25 Python
Python实现Selenium自动化Page模式
2019/07/14 Python
Python在字符串中处理html和xml的方法
2020/07/31 Python
shallow copy和deep copy的区别
2016/05/09 面试题
研发工程师的岗位职责
2013/11/18 职场文书
自荐信格式写作方法有哪些呢
2013/11/20 职场文书
贷款委托书范本
2014/04/08 职场文书
新员工考核评语
2014/12/31 职场文书
2016三八妇女节校园广播稿
2015/12/17 职场文书
2016孝老爱亲模范事迹材料
2016/02/26 职场文书
HTML5简单实现添加背景音乐的几种方法
2021/05/12 HTML / CSS
mybatis 解决从列名到属性名的自动映射失败问题
2021/06/30 Java/Android
微软Win11 全新照片应用面向 Dev预览版推出 新版本上手体验图集
2022/09/23 数码科技