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 相关文章推荐
BBS(php & mysql)完整版(六)
Oct 09 PHP
PHP基础陷阱题(变量赋值)
Sep 12 PHP
PHP CLI模式下的多进程应用分析
Jun 03 PHP
PHP在不同页面间传递Json数据示例代码
Jun 08 PHP
destoon整合ucenter后注册页面不跳转的解决方法
Jun 21 PHP
PHP开发框架kohana中处理ajax请求的例子
Jul 14 PHP
php简单实现短网址(短链)还原的方法(测试可用)
May 09 PHP
php 调用ffmpeg获取视频信息的简单实现
Apr 03 PHP
PHP中error_reporting函数用法详细介绍
Jun 11 PHP
ThinkPHP5.1表单令牌Token失效问题的解决
Mar 22 PHP
PHP rmdir()函数的用法总结
Jul 02 PHP
php日志函数error_log用法实例分析
Sep 23 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安全配置
2006/10/09 PHP
php导出csv格式数据并将数字转换成文本的思路以及代码分享
2014/06/05 PHP
android上传图片到PHP的过程详解
2015/08/03 PHP
PHP用正则匹配form表单中所有元素的类型和属性值实例代码
2017/02/28 PHP
JavaScript下申明对象的几种方法小结
2008/10/02 Javascript
js 判断浏览器类型 去全角、半角空格 自动关闭当前窗口
2009/04/10 Javascript
js锁屏解屏通过对$.ajax进行封装实现
2014/07/31 Javascript
通过javascript进行UTF-8编码的实现方法
2016/06/27 Javascript
第一次接触神奇的Bootstrap菜单和导航
2016/08/01 Javascript
浅谈js中字符和数组一些基本算法题
2016/08/15 Javascript
js中new一个对象的过程
2017/02/20 Javascript
兼容浏览器的js事件绑定函数(详解)
2017/05/09 Javascript
详解vue 模版组件的三种用法
2017/07/21 Javascript
JS前端知识点总结之内置对象,日期对象和定时器相关操作
2019/07/05 Javascript
JS常见面试试题总结【去重、遍历、闭包、继承等】
2019/08/27 Javascript
Javascript Symbol原理及使用方法解析
2020/10/22 Javascript
[50:48]LGD vs CHAOS 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
寻找网站后台地址的python脚本
2014/09/01 Python
Python中DJANGO简单测试实例
2015/05/11 Python
Python读取键盘输入的2种方法
2015/06/16 Python
python获取局域网占带宽最大3个ip的方法
2015/07/09 Python
python操作字典类型的常用方法(推荐)
2016/05/16 Python
Python中运算符"=="和"is"的详解
2016/10/08 Python
python的exec、eval使用分析
2017/12/11 Python
python实现nao机器人身体躯干和腿部动作操作
2019/04/29 Python
解决pytorch报错:AssertionError: Invalid device id的问题
2020/01/10 Python
python读取图片的几种方式及图像宽和高的存储顺序
2020/02/11 Python
CSS3实现复选框动画特效示例代码
2016/09/27 HTML / CSS
html5 制作地图当前定位箭头的方法示例
2020/01/10 HTML / CSS
英国性能汽车零件和发动机配件在线:Maxpeedingrods
2019/11/05 全球购物
物流仓管员岗位职责
2013/12/04 职场文书
求职意向书范文
2014/04/01 职场文书
企业演讲稿范文大全
2014/05/20 职场文书
小学校园文化建设汇报材料
2014/08/19 职场文书
股东出资证明书(正规版)
2014/09/24 职场文书
2014幼儿园卫生保健工作总结
2014/12/05 职场文书