Как автоматически удалить операторы отладки для FirePHP? - PullRequest
0 голосов
/ 08 июля 2011

FirePHP просит меня добавить вызов функции отладки на каждую страницу .php:

require_once('FirePHPCore/FirePHP.class.php');
ob_start();

Это не проблема на моей локальной машине. Но я хочу удалить / отключить их, когда мой код работает в реальном мире.

Существует ли какая-либо переменная "режим отладки", чтобы отключить их, или инструмент для их удаления?

Ответы [ 3 ]

5 голосов
/ 14 июля 2011

ПРИМЕЧАНИЕ: Если вы удалите 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);
}

FYI, при использовании FirePHP 1.0 сообщения о регистрации будут отправляться только при обнаружении авторизованного клиента, что устраняет необходимость в приведенном выше коде.

0 голосов
/ 18 января 2012

продолжение cadorn: Если в вашей платформе FirePHP установлен необязательный (добавить, дополнить, ...), кто-то может в конечном итоге полностью отключить или удалить, вы можете проверить FirePHPдоступность классов или функций в ваших фреймворках core через class_exists() или function_exists(), а в случае, если FirePHP недоступен, определите функции подсистемы.Таким образом, вы можете избежать фатальных исходов и в конечном итоге дать некоторую обратную связь / вывод «FirePHP not available» ..

0 голосов
/ 08 июля 2011

Просто определите константу

define('IS_PRODUCTION', false);

и используйте ее позже:

if (!IS_PRODUCTION) {
    require_once('FirePHPCore/FirePHP.class.php');
    ...
}
...