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 相关文章推荐
一个程序下载的管理程序(一)
Oct 09 PHP
php&java(三)
Oct 09 PHP
一步一步学习PHP(8) php 数组
Mar 05 PHP
php中使用redis队列操作实例代码
Feb 07 PHP
PHP6 中可能会出现的新特性预览
Apr 04 PHP
php中实现记住密码下次自动登录的例子
Nov 06 PHP
PHP微信红包API接口
Dec 05 PHP
PHP响应post请求上传文件的方法
Dec 17 PHP
PHP类和对象相关系统函数与运算符小结
Sep 28 PHP
Laravle eloquent 多对多模型关联实例详解
Nov 22 PHP
提高Laravel应用性能方法详解
Jun 24 PHP
thinkphp5.1框架容器与依赖注入实例分析
Jul 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
PHP5 安装方法
2007/01/15 PHP
PHP中遍历stdclass object的实现代码
2011/06/09 PHP
php的array_multisort()使用方法介绍
2012/05/16 PHP
浅谈PHP与C#的值类型指向区别的详解
2013/05/21 PHP
php数组键值用法实例分析
2015/02/27 PHP
为你总结一些php信息函数
2015/10/21 PHP
php获取远程文件的内容和大小
2015/11/03 PHP
使用SMB共享来绕过php远程文件包含的限制执行RFI的利用
2019/05/31 PHP
强制设为首页代码
2006/06/19 Javascript
php与js的区别是什么
2013/08/05 Javascript
JavaScript编程中window的location与history对象详解
2015/10/26 Javascript
jQuery 如何给Carousel插件添加新的功能
2016/04/18 Javascript
Javascript 5种方法实现过滤删除前后所有空格
2016/06/22 Javascript
使用Node.js给图片加水印的方法
2016/11/15 Javascript
layui+SSM的数据表的增删改实例(利用弹框添加、修改)
2019/09/27 Javascript
python通过装饰器检查函数参数数据类型的方法
2015/03/13 Python
使用wxPython获取系统剪贴板中的数据的教程
2015/05/06 Python
python中验证码连通域分割的方法详解
2018/06/04 Python
python笔记_将循环内容在一行输出的方法
2019/08/08 Python
Django如何实现网站注册用户邮箱验证功能
2019/08/14 Python
python实现根据给定坐标点生成多边形mask的例子
2020/02/18 Python
Python模块/包/库安装的六种方法及区别
2020/02/24 Python
零基础小白多久能学会python
2020/06/22 Python
5款实用的python 工具推荐
2020/10/13 Python
open_basedir restriction in effect. 原因与解决方法
2021/03/14 PHP
ORACLE十问
2015/04/20 面试题
Linux面试经常问的文件系统操作命令
2016/10/04 面试题
总经理办公室主任岗位职责
2013/11/12 职场文书
实习单位接收函
2014/01/11 职场文书
小学生防溺水广播稿
2014/01/12 职场文书
防灾减灾日活动总结
2014/08/26 职场文书
2014幼儿园家长工作总结
2014/11/10 职场文书
2015年世界无烟日演讲稿
2015/03/18 职场文书
Feign调用全局异常处理解决方案
2021/06/24 Java/Android
深入理解margin塌陷和margin合并的解决方案
2021/06/26 HTML / CSS
python 学习GCN图卷积神经网络
2022/05/11 Python