通过父方法终止执行

时间:2011-10-25 12:58:37

标签: php inheritance terminate

我有以下代码:

class A
{
   function example($bool)
   {
      echo "Bob";
      if($bool === true)
      {
         //how to terminate?
      }
   }
}

class B extends A
{
   function example($bool)
   {
      echo "Alice";
      parent::example($bool);
      echo "Charlie";
   }
}

如果我打电话

$x = new B;
$x->example(false);

我会按预期获得“AliceBobCharlie”

我想要的是,如果我传递真实,只会出现“AliceBob”。说:我想终止在父方法

中执行$ x->示例

我希望你能帮助我。怎么做?

感谢您的帮助

1 个答案:

答案 0 :(得分:7)

嗯...要么从A::example()返回一个布尔值,要在B::example()中检查它,以决定是否继续。

如果你真的想要一个中断,你可以抛出异常。然而,使用异常来处理控制流是糟糕的设计。