C'est La Vie

    人生无彩排,每一天都是现场直播!

    PHP面向对象的链式调用方式

    在ZF里面经常有和jQuery类似的链式的结构代码。 $("p").css("color").addClass […]

    在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.尿尿结束,回到了教室
    */

    当然这里也只是单纯实现了功能,至于其他的因素这里并没有考虑。

    发表回复

    您的电子邮箱地址不会被公开。