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文本转图片自动换行的方法
Mar 13 PHP
PHP函数getenv简介和使用实例
May 12 PHP
PHP编译安装中遇到的两个错误和解决方法
Aug 20 PHP
php获取四位字母和数字的随机数的实现方法
Jan 09 PHP
PHP中使用Memache作为进程锁的操作类分享
Mar 30 PHP
php使用pclzip类实现文件压缩的方法(附pclzip类下载地址)
Apr 30 PHP
ThinkPHP实现生成和校验验证码功能
Apr 28 PHP
关于PHP虚拟主机概念及如何选择稳定的PHP虚拟主机
Nov 20 PHP
解决laravel id非自增 模型取回为0 的问题
Oct 11 PHP
Laravel5.5 视图 - 创建视图和数据传递示例
Oct 21 PHP
yii2.0框架多模型操作示例【添加/修改/删除】
Apr 13 PHP
thinkphp5.1框架模板赋值与变量输出示例
May 25 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 图片加水印与上传图片加水印php类
2010/05/12 PHP
ThinkPHP自动转义存储富文本编辑器内容导致读取出错的解决方法
2014/08/08 PHP
php使用cookie实现记住登录状态
2015/04/27 PHP
关于php支持的协议与封装协议总结(推荐)
2017/11/17 PHP
Jquery阻止事件冒泡 event.stopPropagation
2011/12/11 Javascript
jquery多选项卡效果实例代码(附效果图)
2013/03/23 Javascript
JS 打印功能代码可实现打印预览、打印设置等
2014/10/31 Javascript
JavaScript 变量、作用域及内存
2015/04/08 Javascript
JavaScript访问字符串中单个字符的两种方法
2015/07/03 Javascript
javascript实现类似百度分享功能的方法
2015/07/27 Javascript
jQuery UI结合Ajax创建可定制的Web界面
2016/06/22 Javascript
javascript表单控件实例讲解
2016/09/13 Javascript
JS拉起或下载app的实现代码
2017/02/22 Javascript
Bootstrap modal 多弹窗之叠加关闭阴影遮罩问题的解决方法
2017/02/27 Javascript
用纯Node.JS弹出Windows系统消息提示框实例(MessageBox)
2017/05/17 Javascript
jQuery实现基本淡入淡出效果的方法详解
2018/09/05 jQuery
微信小程序实现单选功能
2018/10/30 Javascript
30分钟精通React今年最劲爆的新特性——React Hooks
2019/03/11 Javascript
vue npm install 安装某个指定的版本操作
2020/08/11 Javascript
JavaScript实现商品评价五星好评
2020/11/30 Javascript
给Python IDLE加上自动补全和历史功能
2014/11/30 Python
Python 比较两个数组的元素的异同方法
2017/08/17 Python
python实现一个简单的并查集的示例代码
2018/03/19 Python
终端命令查看TensorFlow版本号及路径的方法
2018/06/13 Python
Python实现栈的方法详解【基于数组和单链表两种方法】
2020/02/22 Python
基于python实现百度语音识别和图灵对话
2020/11/02 Python
CSS3的文字阴影—text-shadow的使用方法
2012/12/25 HTML / CSS
基于Modernizr 让网站进行优雅降级的分析
2013/04/21 HTML / CSS
优秀党员转正的自我评价
2013/10/06 职场文书
聊城大学毕业生自荐书
2014/02/01 职场文书
供应链金融服务方案
2014/05/25 职场文书
领导班子专题民主生活会情况想汇报
2014/09/30 职场文书
企业安全生产检查制度
2015/08/06 职场文书
什么是SOLID
2022/03/24 Javascript
Android Flutter实现3D动画效果示例详解
2022/04/07 Java/Android
用Python仅20行代码编写一个简单的端口扫描器
2022/04/08 Python