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 相关文章推荐
PHPLog php 程序调试追踪工具
Sep 09 PHP
PHP中几个常用的魔术常量
Feb 23 PHP
Codeigniter中禁止A Database Error Occurred错误提示的方法
Jun 12 PHP
php实现根据url自动生成缩略图的方法
Sep 23 PHP
Opcache导致php-fpm崩溃nginx返回502
Mar 02 PHP
PHP如何使用Memcached
Apr 05 PHP
php parse_str() 函数的定义和用法
May 23 PHP
浅谈php处理后端&amp;接口访问超时的解决方法
Oct 29 PHP
php可变长参数处理函数详解
Feb 22 PHP
YII框架行为behaviors用法示例
Apr 26 PHP
对laravel in 查询的使用方法详解
Oct 09 PHP
Laravel 数据库加密及数据库表前缀配置方法
Oct 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
收集的DedeCMS一些使用经验
2007/03/17 PHP
PHP header()函数使用详细(301、404等错误设置)
2013/04/17 PHP
探寻PHP脚本不报错的原因
2014/06/12 PHP
对于ThinkPHP框架早期版本的一个SQL注入漏洞详细分析
2014/07/04 PHP
浅析PHP数据导出知识点
2018/02/17 PHP
两个listbox实现选项的添加删除和搜索
2013/03/01 Javascript
当滚动条滚动到页面底部自动加载增加内容的js代码
2014/05/13 Javascript
javascript实现微信分享
2014/12/23 Javascript
JavaScript中的条件判断语句使用详解
2015/06/03 Javascript
Javascript简单改变表单元素背景的方法
2015/07/15 Javascript
JQuery datepicker 用法详解
2015/12/25 Javascript
js简单设置与使用cookie的方法
2016/01/22 Javascript
canvas绘图不清晰的解决方案
2017/02/28 Javascript
详谈表单重复提交的三种情况及解决方法
2017/08/16 Javascript
JS实现利用两个队列表示一个栈的方法
2017/12/13 Javascript
浅谈es6中export和export default的作用及区别
2018/02/07 Javascript
轻松搞定jQuery+JSONP跨域请求的解决方案
2018/03/06 jQuery
快速解决vue在ios端下点击响应延时的问题
2018/08/27 Javascript
微信小程序中的canvas 文字断行和省略号显示功能的处理方法
2018/11/14 Javascript
详解Vue This$Store总结
2018/12/17 Javascript
vue 使用vant插件做tabs切换和无限加载功能的实现
2020/11/04 Javascript
[10:18]2018DOTA2国际邀请赛寻真——Fnatic能否笑到最后?
2018/08/14 DOTA
学习python处理python编码问题
2011/03/13 Python
Python编程scoketServer实现多线程同步实例代码
2018/01/29 Python
在cmd命令行里进入和退出Python程序的方法
2018/05/12 Python
python读取txt文件并取其某一列数据的示例
2019/02/19 Python
tensorflow 只恢复部分模型参数的实例
2020/01/06 Python
浅谈react路由传参的几种方式
2021/03/23 Javascript
精细化工应届生求职信
2013/11/17 职场文书
计算机专业学生求职信分享
2013/12/15 职场文书
信息总监管理职责范本
2014/03/08 职场文书
周年庆典主持词
2014/04/02 职场文书
2014最新实习证明模板
2014/10/02 职场文书
2014年医生工作总结
2014/11/21 职场文书
SQL使用复合索引实现数据库查询的优化
2022/05/25 SQL Server
Python使用pyecharts控件绘制图表
2022/06/05 Python