FirePHP
要求我在每个 .php 页面上添加调试函数调用:
require_once('FirePHPCore/FirePHP.class.php');
ob_start();
这在我的本地机器上不是问题。但是当我的代码在现实世界中工作时,我想删除/禁用它们。
是否有任何“调试模式”变量来禁用它们或删除它们的工具?
注意:如果您删除了FirePHP包含调用,但您的代码中仍然有FirePHP日志记录调用,您将收到一个致命错误!
正确的解决方案是禁用FirePHPCore 0.3:
$firephp->setEnabled(false);
有关详细信息,请参阅API 参考。
您的应用程序/网站中的所有页面/脚本都应该在执行任何其他操作之前调用中央引导文件。上面的代码应该在这个引导文件中,这将允许您在部署时轻松禁用整个应用程序的FirePHP :
bootstrap.php
~
ob_start();
require_once('FirePHPCore/FirePHP.class.php');
$firephp = FirePHP::getInstance(true);
// always disable FirePHP first - best practice
$firephp->setEnabled(false);
// only enable if in dev environment - best practice
if ($isDevMode) {
$firephp->setEnabled(true);
}
仅供参考,如果使用FirePHP 1.0 ,则仅在检测到授权客户端时才会发送日志消息,从而无需上述代码。
只需定义一个常量
define('IS_PRODUCTION', false);
并在以后使用它:
if (!IS_PRODUCTION) {
require_once('FirePHPCore/FirePHP.class.php');
...
}
cadorn 的后续行动:
如果在您的框架中 FirePHP 是可选安装(插件、插件、..),最终有人可能会完全禁用或卸载,您可以考虑通过或检查框架核心中 FirePHP 类或函数的可用性,以防 FirePHP遥不可及,定义替代功能。这样,您可以避免致命,并最终给出一些反馈/输出,例如“FirePHP 不可用”..class_exists()
function_exists()