-1

今天我注意到缺少的函数在 if 中时会显示错误。以及看到该错误的原因,因为很难调试

<?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);
4

2 回答 2

1

PHP 中函数的存在仅在解释器执行语句的最后一分钟才确定。

因此,如果您在永远不会评估为 的条件中缺少函数,true则不会触发任何错误。

例如:

if (false) {
    this_function_does_not_exist(); // this never gets run
}
// no errors
于 2012-12-29T14:53:41.060 回答
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 和 beta 测试中可能会派上用场,而且肯定比阅读一堆函数文件更好。

于 2012-12-29T14:43:41.873 回答