在 PHP 中,如果我有一个函数调用另一个函数;有没有办法让被调用函数退出调用者函数而不杀死整个脚本?
例如,假设我有一些类似的代码:
<?php
function funcA() {
funcB();
echo 'Hello, we finished funcB';
}
function funcB() {
echo 'This is funcB';
}
?>
<p>This is some text. After this text, I'm going to call funcA.</p>
<p><?php funcA(); ?></p>
<p>This is more text after funcA ran.</p>
不幸的是,如果我发现 funcB 内部有某些东西让我想要阻止 funcA 完成,我似乎必须退出整个 PHP 脚本。有没有办法解决?
我知道我可以在 funcA() 中写入一些内容来检查 funcB() 的结果,但是,就我而言,我无法控制 funcA() 的内容;我只能控制 funcB() 的内容。
为了让这个例子更具体一些;在这个特定的例子中,我正在使用 WordPress。我正在挂钩get_template_part() 函数 http://core.trac.wordpress.org/browser/tags/3.1.1/wp-includes/general-template.php#L96,并尝试通过执行我的钩子后调用的locate_template()函数来阻止WordPress实际需要/包含该文件。
有人有建议吗?
扔一个例外 http://php.net/manual/en/language.exceptions.php in funcB
未处理的funcA
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)