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 相关文章推荐
Windows下的PHP5.0详解
Nov 18 PHP
linux下 C语言对 php 扩展
Dec 14 PHP
UCenter Home二次开发指南
May 28 PHP
支持数组的ADDSLASHES的php函数
Feb 16 PHP
ThinkPHP登录功能的实现方法
Aug 20 PHP
PHP中substr()与explode()函数用法分析
Nov 24 PHP
PHP实现通用alert函数的方法
Mar 11 PHP
php cli配置文件问题分析
Oct 15 PHP
搭建Vim为自定义的PHP开发工具的一些技巧
Dec 11 PHP
PHP5.5.15+Apache2.4.10+MySQL5.6.20配置方法分享
May 06 PHP
php防止表单重复提交实例讲解
Feb 11 PHP
PHP中用Trait封装单例模式的实现
Dec 18 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中session的实现原理以及大网站应用应注意的问题
2013/06/17 PHP
8个必备的PHP功能实例代码
2013/10/27 PHP
PHP判断数据库中的记录是否存在的方法
2014/11/14 PHP
PHP 的比较运算与逻辑运算详解
2016/05/12 PHP
分享php多功能图片处理类
2016/05/15 PHP
PHP获取文件扩展名的方法实例总结
2017/06/10 PHP
Yii框架安装简明教程
2020/05/15 PHP
在线一元二次方程计算器实例(方程计算器在线计算)
2013/12/22 Javascript
AngularJs Scope详解及示例代码
2016/09/01 Javascript
深入理解Node.js的HTTP模块
2016/10/12 Javascript
jquery动态创建div与input的实例代码
2016/10/12 Javascript
使用BootStrap和Metroui设计的metro风格微网站或手机app界面
2016/10/21 Javascript
深入理解jQuery.data() 的实现方式
2016/11/30 Javascript
Jquery EasyUI Datagrid右键菜单实现方法
2016/12/30 Javascript
微信小程序实现顶部普通选项卡效果(非swiper)
2020/06/19 Javascript
javascript面向对象创建对象的方式小结
2019/07/29 Javascript
vue移动端实现手机左右滑动入场动画
2020/06/17 Javascript
js实现上传图片并显示图片名称
2019/12/18 Javascript
vue router返回到指定的路由的场景分析
2020/11/10 Javascript
在Python的循环体中使用else语句的方法
2015/03/30 Python
numpy.transpose对三维数组的转置方法
2018/04/17 Python
解决Pandas to_json()中文乱码,转化为json数组的问题
2018/05/10 Python
python+selenium实现简历自动刷新的示例代码
2019/05/20 Python
解决webdriver.Chrome()报错:Message:'chromedriver' executable needs to be in Path
2019/06/12 Python
Python符号计算之实现函数极限的方法
2019/07/15 Python
python+gdal+遥感图像拼接(mosaic)的实例
2020/03/10 Python
python中取绝对值简单方法总结
2020/07/24 Python
adidas美国官网:adidas US
2016/09/21 全球购物
京东港澳售:京东直邮港澳台
2018/01/31 全球购物
试用期自我鉴定范文
2014/03/20 职场文书
群众路线教育党课主持词
2014/04/01 职场文书
法人授权委托书
2014/09/16 职场文书
介绍信格式
2015/01/30 职场文书
2015年社区国庆节活动总结
2015/07/30 职场文书
CSS3 制作的彩虹按钮样式
2021/04/11 HTML / CSS
如何打开Win11系统注册表编辑器?Win11注册表编辑器打开修复方法
2022/04/05 数码科技