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 相关文章推荐
关于mysql 字段的那个点为是定界符
Jan 15 PHP
兼容PHP5的PHP目录管理函数库
Jul 10 PHP
apache+codeigniter 通过.htcaccess做动态二级域名解析
Jul 01 PHP
提高PHP编程效率的方法
Nov 07 PHP
ThinkPHP实例化模型的四种方法概述
Aug 22 PHP
PHP自毁程序(慎用)
Jul 09 PHP
怎样搭建PHP开发环境
Jul 28 PHP
php利用smtp类实现电子邮件发送
Oct 30 PHP
PHP封装的非对称加密RSA算法示例
May 28 PHP
PHP将英文数字转换为阿拉伯数字实例讲解
Jan 28 PHP
Yii 使用intervention/image拓展实现图像处理功能
Jun 22 PHP
PHP实现与java 通信的插件使用教程
Aug 11 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/12/25 PHP
解析wamp5下虚拟机配置文档
2013/06/27 PHP
PHP命令行脚本接收传入参数的三种方式
2014/08/20 PHP
thinkphp配置文件路径的实现方法
2016/08/30 PHP
php 微信开发获取用户信息如何实现
2016/12/13 PHP
分析 JavaScript 中令人困惑的变量赋值
2007/08/13 Javascript
解javascript 混淆加密收藏
2009/01/16 Javascript
jquery下异步提交表单 异步跨域提交表单
2010/11/17 Javascript
text-align:justify实现文本两端对齐 兼容IE
2015/08/19 Javascript
javascript冒泡排序小结
2016/04/10 Javascript
js发送短信倒计时的简单实现方法
2016/09/08 Javascript
深入浅析Vue组件开发
2016/11/25 Javascript
Nodejs多站点切换Htpps协议详解及简单实例
2017/02/23 NodeJs
初识NodeJS服务端开发入门(Express+MySQL)
2017/04/07 NodeJs
微信小程序使用wxParse解析html的方法教程
2018/07/06 Javascript
浅析vue-router jquery和params传参(接收参数)$router $route的区别
2018/08/03 jQuery
JS无限级导航菜单实现方法
2019/01/05 Javascript
小程序click-scroll组件设计
2019/06/18 Javascript
nestjs中异常过滤器Exceptionfilter的具体使用
2021/02/07 Javascript
[01:32]dota2拉比克至宝(222)
2018/12/20 DOTA
[03:06]2018年度CS GO最具人气解说-完美盛典
2018/12/16 DOTA
Python提取Linux内核源代码的目录结构实现方法
2016/06/24 Python
python爬虫基本知识
2018/03/05 Python
Python最小二乘法矩阵
2019/01/02 Python
Falsk 与 Django 过滤器的使用与区别详解
2019/06/04 Python
python函数不定长参数使用方法解析
2019/12/14 Python
贝玲妃美国官方网站:Benefit美国
2016/08/28 全球购物
说出一些常用的类,包,接口
2014/09/22 面试题
大专会计自我鉴定
2014/02/06 职场文书
求职面试个人自我评价
2014/02/28 职场文书
2015年五四青年节活动总结
2015/02/10 职场文书
公司行政助理岗位职责
2015/04/11 职场文书
企业管理不到位检讨书
2019/06/27 职场文书
使用Golang的channel交叉打印两个数组的操作
2021/04/29 Golang
Java中使用Filter过滤器的方法
2021/06/28 Java/Android
解决Oracle数据库用户密码过期
2022/05/11 Oracle