这篇文章主要介绍了PHP实现的链式操作实例。写程序的人都喜欢偷懒,希望少打几行代码,并且让代码看起来很酷。
就好比很多小伙伴在写if…else…的时候会直接使用三元运算符一样。
而用过JS的人应该都见识过js中的链式方法。如 somevars.func().func2()…funcN();这样的写法使得代码更简练,并且作用关系一目了然。
那么在php中可以这么做么,显然也是可以的,但是php与js的差别是,在js中变量本身具有对象的性质,但是php的变量却不是。
现在在很多的PHP的WEB框架中经常会看见链式操作,相信很多同学也使用过,本文将继续以ThinkPHP中的核心类作为实例,给大家讲解一下,需要的朋友可以参考下。
在ThinkPHP核心文件Model.class.php中可以看到这么几段代码(忽略逻辑部分):
class Model { /** * 查询SQL组装 join */ public function join($join) { /* * code */ return $this; } /** * 指定查询条件 支持安全过滤 */ public function where($where){ /* * code */ return $this; } /** * 指定结果顺序 */ public function order($order){ /* * code */ return $this; } /** * 指定查询数量 */ public function limit($limit){ /* * code */ return $this; } /** * 查询数据集 */ public function select() { /* * code */ return $resultSet; } }
join('left join user on oo=xx')->where('id=1')->order('id asc')->limit(10)->select(); /* * 传统写法 */ $model->join('left join user on oo=xx'); $model->where('id=1'); $model->order('id asc'); $model->limit(10); $model->select(); ?>
在使用了链式写法后,代码会更简洁,更酷,也希望小伙伴能更好的去运用它。
月影别墅游戏 安卓版v2.3.24
月影别墅是款女性向乙女恋爱剧情文字手游,故事背景是玩家穿越到
爆炒江湖九游版 最新版v1.42
爆炒江湖4399服是一款Q版的餐厅经营模拟游戏,玩家目前所看
欧洲卡车模拟器3内置作弊菜单 安卓版v0.2
欧洲卡车模拟器3内置菜单是一个驾驶模拟类手游,不少玩家可能在
汽车公司大亨无限研究点 v1.9.6
汽车公司大亨无限金币版是一款非常经典的模拟经营类手游,在这里
爆炒江湖果盘版 安卓版v1.42
爆炒江湖果盘版是一款中华美食模拟经营手游的渠道服版本,可能有