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解析html的实现代码
Aug 08 PHP
PHP中获取时间的下一周下个月的方法
Mar 18 PHP
thinkphp的静态缓存用法分析
Nov 29 PHP
php随机取mysql记录方法小结
Dec 27 PHP
PHP结合jQuery插件ajaxFileUpload实现异步上传文件实例
Aug 17 PHP
解析WordPress中的post_class与get_post_class函数
Jan 04 PHP
PHP创建文件,并向文件中写入数据,覆盖,追加的实现代码
Mar 25 PHP
ThinkPHP 模板引擎使用详解
May 07 PHP
PHP开发中csrf攻击的简单演示和防范
May 07 PHP
PHP设计模式之建造者模式定义与用法简单示例
Aug 13 PHP
Codeigniter里的无刷新上传的实现代码
Apr 14 PHP
Laravel登录失败次数限制的实现方法
Aug 26 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
讲解WordPress开发中一些常用的debug技巧
2015/12/18 PHP
PHP面向对象程序设计类的定义与用法简单示例
2016/12/27 PHP
php查询及多条件查询
2017/02/26 PHP
符合W3C网页标准的iframe标签的使用方法
2007/07/19 Javascript
详解new function(){}和function(){}() 区别分析
2008/03/22 Javascript
JQuery插件Style定制化方法的分析与比较
2012/05/03 Javascript
jquery对元素拖动排序示例
2014/01/16 Javascript
javascript折半查找详解
2015/01/26 Javascript
JavaScript使用RegExp进行正则匹配的方法
2015/07/11 Javascript
jQuery xml字符串的解析、读取及查找方法
2016/03/01 Javascript
微信小程序 教程之wxapp 视图容器 view
2016/10/19 Javascript
详解webpack模块化管理和打包工具
2018/04/21 Javascript
Fetch超时设置与终止请求详解
2019/05/18 Javascript
微信小程序 调用微信授权窗口相关问题解决
2019/07/25 Javascript
[49:40]2018DOTA2亚洲邀请赛小组赛 A组加赛 TNC vs Newbee
2018/04/03 DOTA
[46:49]完美世界DOTA2联赛PWL S3 access vs Rebirth 第二场 12.19
2020/12/24 DOTA
python备份文件的脚本
2008/08/11 Python
Python生成8位随机字符串的方法分析
2017/12/05 Python
查看django执行的sql语句及消耗时间的两种方法
2018/05/29 Python
Python 写入训练日志文件并控制台输出解析
2019/08/13 Python
Python Selenium模块安装使用教程详解
2020/07/09 Python
通过实例解析python subprocess模块原理及用法
2020/10/10 Python
美国维生素、补充剂、保健食品购物网站:Vitacost
2016/08/05 全球购物
公务员培训自我鉴定
2013/09/19 职场文书
幼儿园数学教学反思
2014/02/02 职场文书
优秀辅导员事迹材料
2014/02/16 职场文书
买房委托公证书
2014/04/08 职场文书
文案策划求职信
2014/04/14 职场文书
银行金融服务方案
2014/06/11 职场文书
初中毕业生自我评价
2015/03/02 职场文书
2015年医务人员医德医风自我评价
2015/03/03 职场文书
2015教师年度考核评语
2015/03/25 职场文书
幽默导游词开场白
2015/05/29 职场文书
幸福终点站观后感
2015/06/04 职场文书
MySQL系列之八 MySQL服务器变量
2021/07/02 MySQL
python和Appium的移动端多设备自动化测试框架
2022/04/26 Python