破解方法在php中链接

时间:2010-02-08 05:14:05

标签: php oop class methods method-chaining

我正在为我的班级结构使用方法链接。

所以我的问题是,当某些功能发生错误时,我怎么能打破我的链。

以下是我的代码:

 <?php
    class demo
    {
        public __construct()
        {
            $this->a='a';
            $this->b='b';
            $this->error = false;
        }

        public function demo1()
        {
            // Some operation here
            // Now based on that operation

            if(Operation success)
            {
                return $this;
            }
            else
            {
                // What should i write here which break the chain of methods.
                // It will not execute the second function demo2
            }
        }

        public function demo2()
        {
            // Some operation here
            // After function Demo1
        }

    }

    $demoClass = new demo();

    $demoClass->demo1()->demo2();

?>

修改

$demoClass = new demo();

    try
    {
        $demoClass->demo1()->demo2();
    }
    catch(Exception $e)
    {
        echo "Caught Exception:->".$e->getMessage();
    }   

由于

阿维纳什

1 个答案:

答案 0 :(得分:3)

我认为你需要在那里抛出用户异常

        if(Operation success)
        {
            return $this;
        }
        else
        {
            // What should i write here which break the chain of methods.
            // It will not execute the second function demo2

            throw new Exception('error');
        }