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实现框架(二)
Oct 09 PHP
轻松修复Discuz!数据库
May 03 PHP
PHP中$_SERVER的详细参数与说明
Jul 29 PHP
一些被忽视的PHP函数(简单整理)
Apr 30 PHP
用PHP将网址字符串转换成超链接(网址或email)
May 25 PHP
php字符串过滤与替换小结
Jan 26 PHP
PHP实现的简单排列组合算法应用示例
Jun 20 PHP
利用php操作memcache缓存的基础方法示例
Aug 02 PHP
PHP设计模式之状态模式定义与用法详解
Apr 02 PHP
Laravel 使用查询构造器配合原生sql语句查询的例子
Oct 12 PHP
PHP使用PhpSpreadsheet操作Excel实例详解
Mar 26 PHP
PHP解决高并发的优化方案实例
Dec 10 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 echo 输出字符串函数详解
2010/05/13 PHP
PHP错误Parse error: syntax error, unexpected end of file in test.php on line 12解决方法
2014/06/23 PHP
linux中cd命令使用详解
2015/01/08 PHP
PHP数组操作简单案例分析
2016/10/15 PHP
PHP利用Cookie设置用户30分钟未操作自动退出功能
2017/07/03 PHP
Laravel框架实现定时发布任务的方法
2018/08/16 PHP
图片Slider 带左右按钮的js示例
2013/08/30 Javascript
iframe窗口高度自适应的又一个巧妙实现思路
2014/04/04 Javascript
Node.js 制作实时多人游戏框架
2015/01/08 Javascript
js实现仿阿里巴巴城市选择框效果实例
2015/06/24 Javascript
Jquery代码实现图片轮播效果(一)
2015/08/12 Javascript
JS仿淘宝实现的简单滑动门效果代码
2015/10/14 Javascript
JavaScript中点击事件的写法
2016/06/28 Javascript
node.js 中间件express-session使用详解
2017/05/20 Javascript
使用nvm管理不同版本的node与npm的方法
2017/10/31 Javascript
详解Vue路由钩子及应用场景(小结)
2017/11/07 Javascript
详解微信JS-SDK选择图片遇到的坑
2018/08/15 Javascript
node中的session的具体使用
2018/09/14 Javascript
Vue.js组件间通信方式总结【推荐】
2018/11/23 Javascript
js array数组对象操作方法汇总
2019/03/18 Javascript
vue.js的状态管理vuex中store的使用详解
2019/11/08 Javascript
微信小程序实现电影App导航和轮播
2020/11/30 Javascript
python在多玩图片上下载妹子图的实现代码
2013/08/13 Python
python使用socket连接远程服务器的方法
2015/04/29 Python
Python2和Python3中print的用法示例总结
2017/10/25 Python
python-itchat 统计微信群、好友数量,及原始消息数据的实例
2019/02/21 Python
Python中使用logging和traceback模块记录日志和跟踪异常
2019/04/09 Python
基于Python的图像数据增强Data Augmentation解析
2019/08/13 Python
台湾SHOPRO购物行家:亚洲首创影视.3C.家电.优质购物平台
2018/05/07 全球购物
商场中秋节广播稿
2014/01/17 职场文书
《乌鸦和狐狸》教学反思
2014/02/08 职场文书
开朗女孩的自我评价
2014/02/10 职场文书
县级领导干部开展党的群众路线教育实践活动工作汇报
2014/10/25 职场文书
思品教学工作总结
2015/08/10 职场文书
oracle表分区的概念及操作
2021/04/24 Oracle
动态规划之使用备忘录来改进Javascript函数
2022/04/07 Javascript