通过父方法终止执行

0xD*_*EEF 2 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";
   }
}
Run Code Online (Sandbox Code Playgroud)

如果我打电话

$x = new B;
$x->example(false);
Run Code Online (Sandbox Code Playgroud)

我会按预期得到"AliceBobCharlie"

而我想要的是,如果我通过,只会出现"AliceBob".说:我想终止在父方法中执行$ x-> example

我希望你能帮助我.这该怎么做?

谢谢你的帮助

Til*_*lge 7

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

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