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定时自动生成静态HTML的实现代码
Jun 20 PHP
需要注意的几个PHP漏洞小结
Feb 05 PHP
php实现webservice实例
Nov 06 PHP
php实现用于删除整个目录的递归函数
Mar 16 PHP
Zend Framework缓存Cache用法简单实例
Mar 19 PHP
php PDO判断连接是否可用的实现方法
Apr 03 PHP
php批量转换文件夹下所有文件编码的函数类
Aug 06 PHP
Laravel框架生命周期与原理分析
Jun 12 PHP
PHP中16个高危函数整理
Sep 19 PHP
确保Laravel网站不会被嵌入到其他站点中的方法
Oct 18 PHP
关于laravel-admin ueditor 集成并解决刷新的问题
Oct 21 PHP
PHP如何开启Opcache功能提升程序处理效率
Apr 27 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 时间转换Unix时间戳代码
2010/01/22 PHP
PHP 防恶意刷新实现代码
2010/05/16 PHP
采集邮箱的php代码(抓取网页中的邮箱地址)
2012/07/17 PHP
关于file_get_contents返回为空或函数不可用的解决方案
2013/06/24 PHP
基于PHP+Ajax实现表单验证的详解
2013/06/25 PHP
PHP根据图片色界在不同位置加水印的方法
2015/07/01 PHP
PHP实现的多文件上传类及用法示例
2016/05/06 PHP
thinkPHP3.x常量整理(预定义常量/路径常量/系统常量)
2016/05/20 PHP
php实现的顺序线性表示例
2019/05/04 PHP
PHP框架实现WebSocket在线聊天通讯系统
2019/11/21 PHP
jquery 插件 人性化的消息显示
2008/01/21 Javascript
js实现简单div拖拽功能实例
2015/05/12 Javascript
JavaScript jQuery 中定义数组与操作及jquery数组操作
2015/12/18 Javascript
KnockoutJs快速入门教程
2016/05/16 Javascript
javascript弹出窗口中增加确定取消按钮
2016/06/24 Javascript
基于js中的原型、继承的一些想法
2016/08/10 Javascript
详解jQuery停止动画——stop()方法的使用
2016/12/14 Javascript
setTimeout学习小结
2017/02/08 Javascript
jQuery文字轮播特效
2017/02/12 Javascript
Angular.js前台传list数组由后台spring MVC接收数组示例代码
2017/07/31 Javascript
vue如何获取点击事件源的方法
2017/08/10 Javascript
nodejs微信扫码支付功能实现
2018/02/17 NodeJs
vue+element+Java实现批量删除功能
2019/04/08 Javascript
JS实现获取当前所在周的周六、周日示例分析
2019/05/11 Javascript
JS实现简易图片自动轮播
2020/10/16 Javascript
关于你不想知道的所有Python3 unicode特性
2014/11/28 Python
python linecache 处理固定格式文本数据的方法
2019/01/08 Python
Python日志器使用方法及原理解析
2020/09/27 Python
详解Html5中video标签那些属性和方法
2019/07/01 HTML / CSS
canvas实现滑动验证的实现示例
2020/08/11 HTML / CSS
商场租赁意向书
2014/07/30 职场文书
公司感恩节活动策划书
2014/10/11 职场文书
老公出轨后的保证书
2015/05/08 职场文书
企业宣传语大全
2015/07/13 职场文书
Pandas搭配lambda组合使用详解
2022/01/22 Python
Python爬虫网络请求之代理服务器和动态Cookies
2022/04/12 Python