在ZF里面经常有和jQuery类似的链式的结构代码。
$("p").css("color").addClass("selected");//jQuery //比如这样jQuery可以连着使用2个方法。在ZF中也有发现类似的链式 $this->_plugins->setRequest($this->_request)->setResponse($this->_response);
于是就跟进了函数,发现实现起来也还蛮简单的。只需要在每个方法最后返回$this
下面是一个例子。
<?php class wc { public function __construct($who){ echo "{$who}准备去上厕所了<br/>"; } public function go(){ echo "1.跑出了教室<br/>"; return $this; } public function action(){ echo "2.到了厕所,开始尿尿<br/>"; return $this; } public function back(){ echo "3.尿尿结束,回到教室"; return $this; } } $xm = new wc("小明"); $xm->go()->action()->back(); /* 执行结果: 小明准备去上厕所了 1.跑出了教室 2.到了厕所,开始尿尿 3.尿尿结束,回到了教室 */
当然这里也只是单纯实现了功能,至于其他的因素这里并没有考虑。