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实现与ASP Banner组件相似的类
Oct 09 PHP
解决phpmyadmin 乱码,支持gb2312和utf-8
Nov 20 PHP
中篇:安装及配置PHP
Dec 13 PHP
PHP抓取、分析国内视频网站的视频信息工具类
Apr 02 PHP
php中Socket创建与监听实现方法
Jan 05 PHP
PHP输出缓冲控制Output Control系列函数详解
Jul 02 PHP
简单介绍win7下搭建apache+php+mysql开发环境
Aug 06 PHP
双冒号 ::在PHP中的使用情况
Nov 05 PHP
SSO单点登录的PHP实现方法(Laravel框架)
Mar 23 PHP
thinkPHP+LayUI 流加载实现功能
Sep 27 PHP
使用PHP+Redis实现延迟任务,实现自动取消订单功能
Nov 21 PHP
如何在Mac上通过docker配置PHP开发环境
May 29 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
PHP字符串处理的10个简单方法
2010/06/30 PHP
linux下实现定时执行php脚本
2015/02/13 PHP
php cookie工作原理与实例详解
2016/07/18 PHP
鼠标移动到一张图片时变为另一张图片
2006/12/05 Javascript
JavaScript 对象、函数和继承
2009/07/07 Javascript
jQuery学习3:操作元素属性和特性
2010/02/07 Javascript
jquery 通过name快速取值示例
2014/01/24 Javascript
关闭浏览器窗口弹出提示框并且可以控制其失效
2014/04/15 Javascript
基于js里调用函数时,函数名带括号和不带括号的区别
2016/07/28 Javascript
Angular2  NgModule 模块详解
2016/10/19 Javascript
Jquery uploadify 多余的Get请求(404错误)的解决方法
2017/01/26 Javascript
详解AngularJs HTTP响应拦截器实现登陆、权限校验
2017/04/11 Javascript
基于input框覆盖掉数字英文的实例讲解
2017/07/21 Javascript
node跨域请求方法小结
2017/08/25 Javascript
jsTree事件和交互以及插件plugins详解
2017/08/29 Javascript
vue-cli+webpack项目 修改项目名称的方法
2018/02/28 Javascript
解决layui-table单元格设置为百分比在ie8下不能自适应的问题
2019/09/28 Javascript
JS性能优化实现方法及优点进行
2020/08/30 Javascript
python查找目录下指定扩展名的文件实例
2015/04/01 Python
Python中装饰器兼容加括号和不加括号的写法详解
2017/07/05 Python
Python基于tkinter模块实现的改名小工具示例
2017/07/27 Python
python使用自定义钉钉机器人的示例代码
2020/06/24 Python
python3代码中实现加法重载的实例
2020/12/03 Python
HTML5中原生的右键菜单创建方法
2016/06/28 HTML / CSS
Sahajan美国:阿育吠陀护肤品牌
2021/01/09 全球购物
厨师岗位职责
2013/11/12 职场文书
电子商务个人职业生涯规划范文
2014/02/12 职场文书
保安队长职务说明书
2014/02/23 职场文书
2014年公务员思想汇报范文:全心全意为人民服务
2014/03/06 职场文书
趣味运动会策划方案
2014/06/02 职场文书
乡镇安全生产目标责任书
2014/07/23 职场文书
我心目中的好老师活动方案
2014/08/19 职场文书
党员反对四风问题思想汇报
2014/09/12 职场文书
安全教育观后感
2015/06/17 职场文书
2016年秋季新学期致辞
2015/07/30 职场文书
php去除数组中为0的元素的实例分析
2021/11/17 PHP