Я использую Symfony 1.4 с Doctrine.
Я пытаюсь найти способ включить режим отладки, только если текущий sfUser
имеет специальные учетные данные debugger
.
Я уже создал фильтр, который отключает панель отладки Symfony, если sfUser
не имеет этих учетных данных (web_debug
в моем файле settings.yml
имеет значение true
):
class checkWebDebugFilter extends sfFilter
{
public function execute($filterChain)
{
if(!$this->getContext()->getUser()->hasCredential('debugger'))
{
sfConfig::set('sf_web_debug', false);
}
$filterChain->execute();
}
}
код моего index.php
файла:
require_once(dirname(__FILE__).'/../config/ProjectConfiguration.class.php');
$configuration = ProjectConfiguration::getApplicationConfiguration('frontend', 'prod', false));
sfContext::createInstance($configuration)->dispatch();
Проблема в том, что режим debug
жестко задан в false
в моем index.php
, он также отключен для отладчиков;поэтому на веб-панели отладки не отображаются операторы Doctrine и временные индикаторы.
Есть ли способ включить режим отладки, только если текущий sfUser
имеет точные учетные данные?
Я пытался добавить sfConfig::set('sf_debug', true);
к моему checkWebDebugFilter::execute()
методу, но поскольку фильтр выполняется после операторов Doctrine, они не записываются.
Я также пыталсядобавьте session_start();
в мой файл index.php
, затем просмотрите переменную $_SESSION
, чтобы проверить, есть ли у текущего пользователя учетные данные debugger
, но это не сработало (и это не было в духе Symfony).
Заранее спасибо за ваши ответы.