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
我希望你能帮助我.这该怎么做?
谢谢你的帮助
嗯...要么从中返回一个布尔值A::example()并检查它B::example()以决定是否应该继续.
如果你真的想要一个中断,你可以抛出异常.然而,使用异常来处理控制流是糟糕的设计.