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 多进程 解决难题
Jun 22 PHP
php中取得URL的根域名的代码
Mar 23 PHP
jQuery EasyUI API 中文文档 - DateBox日期框
Oct 15 PHP
phpExcel导出大量数据出现内存溢出错误的解决方法
Feb 28 PHP
dedecms函数分享之获取某一栏目所有子栏目
May 19 PHP
PHP SESSION的增加、删除、修改、查看操作
Mar 20 PHP
PHP 7.4中使用预加载的方法详解
Jul 08 PHP
Laravel 实现在Blade模版中使用全局变量代替路径的例子
Oct 22 PHP
PHP pthreads v3下的Volatile简介与使用方法示例
Feb 21 PHP
jQuery+PHP实现图片上传并提交功能
Jul 27 PHP
PHP+Redis链表解决高并发下商品超卖问题(实现原理及步骤)
Aug 03 PHP
phpstorm激活码2020附使用详细教程
Sep 25 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
模拟flock实现文件锁定
2007/02/14 PHP
浅析PHP中的i++与++i的区别及效率
2016/06/15 PHP
关于laravel 子查询 &amp; join的使用
2019/10/16 PHP
解决extjs在firefox中关闭窗口再打开后iframe中js函数访问不到的问题
2008/11/06 Javascript
jQuery提交表单ajax查询实例代码
2012/10/07 Javascript
jQuery scrollFix滚动定位插件
2015/04/01 Javascript
js学习阶段总结(必看篇)
2016/06/16 Javascript
ie下js不执行的几种可能
2017/02/28 Javascript
详解使用vue实现tab 切换操作
2017/07/03 Javascript
nodejs操作mongodb的填删改查模块的制作及引入实例
2018/01/02 NodeJs
vue中用 async/await 来处理异步操作
2020/07/18 Javascript
[01:34:42]NAVI vs EG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
Python内置函数dir详解
2015/04/14 Python
Python下的twisted框架入门指引
2015/04/15 Python
Python实现配置文件备份的方法
2015/07/30 Python
Python基本语法经典教程
2016/03/11 Python
Python的Django框架中forms表单类的使用方法详解
2016/06/21 Python
用python实现对比两张图片的不同
2018/02/05 Python
python爬取m3u8连接的视频
2018/02/28 Python
在windows下Python打印彩色字体的方法
2018/05/15 Python
python字符串替换第一个字符串的方法
2019/06/26 Python
浅谈Django前端后端值传递问题
2020/07/15 Python
帕克纽约:PARKER NY
2018/12/09 全球购物
澳大利亚窗帘商店:Curtain Wonderland
2019/12/01 全球购物
nohup的用法
2012/11/26 面试题
财务会计专业毕业生自荐信
2013/10/19 职场文书
讲文明知礼仪演讲稿
2014/09/13 职场文书
运动会加油稿20字
2014/11/15 职场文书
2014年安全管理工作总结
2014/12/01 职场文书
培训督导岗位职责
2015/04/10 职场文书
2015年大学生村官工作总结
2015/04/21 职场文书
同学聚会感言一句话
2015/07/30 职场文书
检讨书范文
2019/04/16 职场文书
用Python实现一个打字速度测试工具来测试你的手速
2021/05/28 Python
关于html选择框创建占位符的问题
2021/06/09 HTML / CSS
Redis基本数据类型List常用操作命令
2022/06/01 Redis