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中文件上传的安全问题
Oct 09 PHP
从一个不错的留言本弄的mysql数据库操作类
Sep 02 PHP
php 正则 过滤html 的超链接
Jun 02 PHP
rephactor 优秀的PHP的重构工具
Jun 09 PHP
php数组函数序列之array_combine() - 数组合并函数使用说明
Oct 29 PHP
php获取用户IPv4或IPv6地址的代码
Nov 15 PHP
PHP数据类型之整数类型、浮点数的介绍
Apr 28 PHP
PHP面试题之文件目录操作
Oct 15 PHP
php is_writable判断文件是否可写实例代码
Oct 13 PHP
详谈phpAdmin修改密码后拒绝访问的问题
Apr 03 PHP
Yii框架参数配置文件params用法实例分析
Sep 11 PHP
laravel 验证错误信息到 blade模板的方法
Sep 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
php5.2.0内存管理改进
2007/01/22 PHP
php防注入,表单提交值转义的实现详解
2013/06/10 PHP
PHP 匿名函数与注意事项详细介绍
2016/11/26 PHP
ThinkPHP中获取指定日期后工作日的具体日期方法
2018/10/14 PHP
PhpStorm 如何优雅的调试Hyperf的方法步骤
2019/11/24 PHP
?牟┛途W扣了一??效果出?? target=
2007/05/27 Javascript
JavaScript 组件之旅(三):用 Ant 构建组件
2009/10/28 Javascript
javascript 简单抽屉效果的实现代码
2010/03/09 Javascript
IE中createElement需要注意的一个问题
2010/07/13 Javascript
JS延时器提示框的应用实例代码解析
2016/04/27 Javascript
JS实现颜色梯度与渐变效果完整实例
2016/12/30 Javascript
又一款MVVM组件 构建自己的Vue组件(2)
2017/03/13 Javascript
NodeJS实现微信公众号关注后自动回复功能
2017/05/31 NodeJs
基于js粘贴事件paste简单解析以及遇到的坑
2017/09/07 Javascript
详解VS Code使用之Vue工程配置format代码格式化
2019/03/20 Javascript
微信小程序自定义弹窗实现详解(可通用)
2019/07/04 Javascript
React 父子组件通信的实现方法
2019/12/05 Javascript
[02:41]DOTA2英雄基础教程 亚巴顿
2014/01/02 DOTA
极简的Python入门指引
2015/04/01 Python
介绍Python中的fabs()方法的使用
2015/05/14 Python
python并发编程多进程 模拟抢票实现过程
2019/08/20 Python
python文件读写代码实例
2019/10/21 Python
Python利用Scrapy框架爬取豆瓣电影示例
2020/01/17 Python
python判断两个序列的成员是否一样的实例代码
2020/03/01 Python
解决Ubuntu18中的pycharm不能调用tensorflow-gpu的问题
2020/09/17 Python
欧舒丹澳洲版:L’OCCITANE
2017/07/17 全球购物
璀璨的珍珠、密钉和个性化珠宝:Lily & Roo
2021/01/21 全球购物
C#里面如何倒序排列一个数组的元素?
2013/06/21 面试题
护理专业的自荐信
2013/10/22 职场文书
汽车运用工程毕业生自荐信
2013/10/29 职场文书
服务质量承诺书
2014/03/27 职场文书
抗震救灾标语
2014/06/26 职场文书
土建专业毕业生自荐书
2014/07/04 职场文书
放假通知范文
2015/04/14 职场文书
Vue3 Composition API的使用简介
2021/03/29 Vue.js
Django给表单添加honeypot验证增加安全性
2021/05/06 Python