我有以下代码:
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->示例我希望你能帮助我。怎么做?
感谢您的帮助
答案 0 :(得分:7)
嗯...要么从A::example()
返回一个布尔值,要在B::example()
中检查它,以决定是否继续。
如果你真的想要一个中断,你可以抛出异常。然而,使用异常来处理控制流是糟糕的设计。