今天我注意到if内部丢失的函数dosent显示错误。什么看错,因为很难调试
<?php if(3 >1): ?>
<?php echo missingFunction(3); ?>
<?php else: ?>
<?php echo missingFunction(3); ?>
<?php endif; ?>
如果我自己调用该功能
//这将显示缺少该功能
<?php echo missingFunction(4); ?>
在我所拥有的文件中
ini_set('display_errors', 1);
error_reporting(E_ALL);
答案 0 :(得分:1)
如果xy函数位于(负)if
内,则无法看到错误 - 只有在触发时才会出现错误。没有办法。
但是你可以这样做(检查)文件,你应该手动编写“有问题/可疑/隐藏/如果”功能(硬编码)..但更好,然后没有。
$maybe_fns = (function1,function2); //... you should type in `if` functions here, manually
$check = @explode(',', $maybe_fns);
while (list($key,$xxx) = each($check))
{
if(!function_exists($xxx)
{
echo '<b>Warning:</b> No function <b>'.$xxx.'</b><br>';
}
}
可能会在alpha&amp; amp; beta测试,并且它确实比读取一堆函数文件更好。
答案 1 :(得分:1)
PHP中函数的存在只能在解释器执行语句的最后一刻确定。
因此,如果在永不评估为true
的条件中缺少函数,则不会触发任何错误。
例如:
if (false) {
this_function_does_not_exist(); // this never gets run
}
// no errors