PHP实现的连贯操作、链式操作实例


Posted in PHP onJuly 08, 2014

PHP中的连贯操作看起来的确很酷,也非常的方便代码的阅读,当然了必须是在OOP中用才行,在过程化的程序中,就没有必要用这种方法了。有实现这个方法的有用_CALL来实现的,而我下面写的这个例子,则不是用_call的,大家可以扩展一下吧。

下面写的这个SQL语句组合类,主要是用于学习的,如果有同学想拿去用,请再完善一下。

/*
 * SQL语句组合实例类,始发文章web开发笔记
 * 学习用,非专业类
 * */
class sql{
	private $sql=array("from"=>"",
			"where"=>"",
			"order"=>"",
			"limit"=>"");
 
	public function from($tableName) {
		$this->sql["from"]="FROM ".$tableName;
		return $this;
	}
 
	public function where($_where='1=1') {
		$this->sql["where"]="WHERE ".$_where;
		return $this;
	}
 
	public function order($_order='id DESC') {
		$this->sql["order"]="ORDER BY ".$_order;
		return $this;
	}
 
	public function limit($_limit='30') {
		$this->sql["limit"]="LIMIT 0,".$_limit;
		return $this;
	}
	public function select($_select='*') {
		return "SELECT ".$_select." ".(implode(" ",$this->sql));
	}
}
 
$sql =new sql();
 
echo $sql->from("testTable")->where("id=1")->order("id DESC")->limit(10)->select();
//输出 SELECT * FROM testTable WHERE id=1 ORDER BY id DESC LIMIT 0,10
PHP 相关文章推荐
php array_search() 函数使用
Apr 13 PHP
php用数组返回无限分类的列表数据的代码
Aug 08 PHP
如何批量替换相对地址为绝对地址(利用bat批处理实现)
May 27 PHP
Linux下php5.4启动脚本
Aug 03 PHP
PHP中的reflection反射机制测试例子
Aug 05 PHP
详解WordPress开发中过滤属性以及Sql语句的函数使用
Dec 25 PHP
CI配置多数据库访问的方法
Mar 28 PHP
yii使用bootstrap分页样式的实例
Jan 17 PHP
php防止sql注入的方法详解
Feb 20 PHP
php设计模式之策略模式应用案例详解
Jun 17 PHP
php更新cookie内容的详细方法
Sep 30 PHP
php去除deprecated的实例方法
Nov 17 PHP
PHP类中的魔术方法(Magic Method)简明总结
Jul 08 #PHP
PHP的魔术常量__METHOD__简介
Jul 08 #PHP
PHP中的插件机制原理和实例
Jul 08 #PHP
phpmailer在服务器上不能正常发送邮件的解决办法
Jul 08 #PHP
php去掉URL网址中带有PHPSESSID的配置方法
Jul 08 #PHP
PHP大批量插入数据库的3种方法和速度对比
Jul 08 #PHP
php发送get、post请求的6种方法简明总结
Jul 08 #PHP
You might like
收音机的保养
2021/03/01 无线电
一个自定义位数的php多用户计数器代码
2007/03/11 PHP
PHP set_time_limit(0)长连接的实现分析
2010/03/02 PHP
php file_exists 检查文件或目录是否存在的函数
2010/05/10 PHP
PHP将XML转数组过程详解
2013/11/13 PHP
php中数据库连接方式pdo和mysqli对比分析
2015/02/25 PHP
CI框架的安全性分析
2016/05/18 PHP
jquery下json数组的操作实现代码
2010/08/09 Javascript
Javascript拓展String方法小结
2013/07/08 Javascript
模拟多级复选框效果的jquery代码
2013/08/13 Javascript
JavaScript代码编写中各种各样的坑和填坑方法
2014/06/06 Javascript
概述BootStrap中role="form"及role作用角色
2016/12/08 Javascript
HTML5开发Kinect体感游戏的实例应用
2017/09/18 Javascript
微信小程序富文本渲染引擎的详解
2017/09/30 Javascript
js中apply和Math.max()函数的问题及区别介绍
2018/03/27 Javascript
layui加载数据显示loading加载完成loading消失的实例代码
2019/09/23 Javascript
js将URL网址转为16进制加密与解密函数
2020/03/04 Javascript
[02:48]DOTA2英雄基础教程 拉席克
2013/12/12 DOTA
[52:40]完美世界DOTA2联赛PWL S2 Magma vs GXR 第一场 11.29
2020/12/02 DOTA
高性能web服务器框架Tornado简单实现restful接口及开发实例
2014/07/16 Python
Python使用Supervisor来管理进程的方法
2015/05/28 Python
Python模拟登陆实现代码
2017/06/14 Python
基于Python 装饰器装饰类中的方法实例
2018/04/21 Python
python 对txt中每行内容进行批量替换的方法
2018/07/11 Python
Pandas过滤dataframe中包含特定字符串的数据方法
2018/11/07 Python
python3 字符串知识点学习笔记
2020/02/08 Python
python logging设置level失败的解决方法
2020/02/19 Python
HTML5里autofocus自动聚焦属性使用介绍
2016/06/22 HTML / CSS
webView加载html图片遇到的问题解决
2019/10/08 HTML / CSS
C语言笔试题回忆
2015/04/02 面试题
企业新年寄语
2014/04/04 职场文书
村级环境卫生整治方案
2014/05/04 职场文书
安全生产月标语
2014/10/07 职场文书
消防宣传标语大全
2015/08/03 职场文书
python实现批量提取指定文件夹下同类型文件
2021/04/05 Python
Java Spring Boot请求方式与请求映射过程分析
2022/06/25 Java/Android