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 相关文章推荐
用libtemplate实现静态网页生成
Oct 09 PHP
php判断ip黑名单程序代码实例
Feb 24 PHP
jQuery Mobile + PHP实现文件上传
Dec 12 PHP
PHP中new static() 和 new self() 的区别介绍
Jan 09 PHP
php+mysqli实现批量执行插入、更新及删除数据的方法
Jan 29 PHP
PHP中使用socket方式GET、POST数据实例
Apr 02 PHP
详解WordPress中过滤链接与过滤SQL语句的方法
Dec 18 PHP
Yii视图操作之自定义分页实现方法
Jul 14 PHP
总结PHP中数值计算的注意事项
Aug 14 PHP
php str_getcsv把字符串解析为数组的实现方法
Apr 05 PHP
PHP进阶学习之Geo的地图定位算法详解
Jun 19 PHP
php使用curl伪造浏览器访问操作示例
Sep 30 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
MOTOROLA 摩托罗拉 MODEL 66-XI五灯中波收音机
2021/03/02 无线电
php 无限级分类,超级简单的无限级分类,支持输出树状图
2014/06/29 PHP
PHP改进计算字符串相似度的函数similar_text()、levenshtein()
2014/10/27 PHP
php检查字符串中是否有外链的方法
2015/07/29 PHP
学习PHP的数组总结【经验】
2016/05/05 PHP
Yii2中YiiBase自动加载类、引用文件方法分析(autoload)
2016/07/25 PHP
基于Laravel-admin 后台的自定义页面用法详解
2019/09/30 PHP
PHP类的自动加载与命名空间用法实例分析
2020/06/05 PHP
在JavaScript中使用inline函数的问题
2007/03/08 Javascript
JavaScript入门教程(8) Location地址对象
2009/01/31 Javascript
Dom与浏览器兼容性说明
2010/10/25 Javascript
Firefox中beforeunload事件的实现缺陷浅析
2012/05/03 Javascript
jquery实现倒计时代码分享
2014/06/13 Javascript
jQuery实现加入购物车飞入动画效果
2015/03/14 Javascript
JavaScript中Number.MAX_VALUE属性的使用方法
2015/06/04 Javascript
值得学习的bootstrap fileinput文件上传工具
2016/11/08 Javascript
详解使用jQuery.i18n.properties实现js国际化
2018/05/04 jQuery
vue实现跨域的方法分析
2019/05/21 Javascript
小试小程序云开发(小结)
2019/06/06 Javascript
AngularJS动态生成select下拉框的方法实例
2019/11/17 Javascript
OpenLayers3实现地图显示功能
2020/09/25 Javascript
JS如何监听div的resize事件详解
2020/12/03 Javascript
python输出当前目录下index.html文件路径的方法
2015/04/28 Python
Python遍历目录中的所有文件的方法
2016/07/08 Python
解决Python正则表达式匹配反斜杠''\''问题
2019/07/17 Python
vue.js刷新当前页面的实例讲解
2020/12/29 Python
html5摇一摇代码优化包括DeviceMotionEvent等等
2014/09/01 HTML / CSS
新加坡领先的在线生活方式和杂货购物网站:EAMART
2019/04/02 全球购物
中国一家综合的外贸B2C电子商务网站:DealeXtreme(DX)
2020/03/10 全球购物
Ajax的工作原理
2015/12/04 面试题
小学教育毕业生自荐信
2013/11/18 职场文书
汽车专业人才自我鉴定范文
2013/12/29 职场文书
社会学专业求职信
2014/02/24 职场文书
计算机考试作弊检讨书1000字
2015/01/01 职场文书
小型企业的绩效考核制度模板
2019/11/21 职场文书
Pytest之测试命名规则的使用
2021/04/16 Python