Я использую symfony 1.4 с Doctrine.
Я пытаюсь найти способ включить режим отладки, только если текущий sfUser
имеет специальные учетные данные отладчика
.
Я уже создал фильтр, который деактивирует панель отладки symfony, если sfUser
не имеет этих учетных данных (для web_debug
установлено значение true
в моем ] settings.yml
файл):
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();
Проблема в том, что режим отладки
жестко запрограммирован на false
в моем index.php
, он также отключен для отладчиков; поэтому панель веб-отладки не показывает ни операторов Doctrine, ни индикацию времени.
Есть ли способ включить режим отладки, только если текущий sfUser
имеет точные учетные данные?
Я попытался добавить sfConfig :: set ('sf_debug', true);
в свой checkWebDebugFilter :: execute ()
, но поскольку фильтр выполняется после операторов Doctrine, они не записываются.
Я также пытался добавить session_start ();
в свой ] index.php
, затем просматривая переменную $ _ SESSION
, чтобы проверить, есть ли у текущего пользователя учетные данные отладчика
, но он не работал (и его не было в духа Symfony).
Заранее благодарим за ответы.