में इंटरबैक्टिव रूप से डीबग मोड सक्षम करें मैं सिद्धांत के साथ सिम्फनी 1.4 का उपयोग कर रहा हूं।symfony
मैं केवल यदि वर्तमान sfUser
एक विशेष debugger
क्रेडेंशियल है डिबग मोड सक्षम करने के लिए एक रास्ता खोजने की कोशिश कर रहा हूँ।
मैं पहले से ही एक फिल्टर है कि सिम्फोनी डिबग बार निष्क्रिय कर बनाया है 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
मोड मेरी index.php
में false
को hardcoded है, यह एक है डिबगर्स के लिए भी अक्षम इसलिए वेब डीबग बार सिद्धांत विवरण और न ही समय संकेत दिखाता है।
क्या डीबग मोड को सक्षम करने का कोई तरीका है यदि वर्तमान sfUser
में एक सटीक प्रमाण-पत्र है?
मैं अपने checkWebDebugFilter::execute()
विधि के लिए sfConfig::set('sf_debug', true);
जोड़ने की कोशिश की, लेकिन जैसा कि फिल्टर सिद्धांत बयान के बाद निष्पादित किया जाता है, वे रिकॉर्ड नहीं किया जाता।
मैं अपने index.php
फ़ाइल में session_start();
जोड़ने की कोशिश की, तो $_SESSION
चर के माध्यम से ब्राउज़ वर्तमान उपयोगकर्ता debugger
क्रेडेंशियल है कि क्या जांच करने के लिए है, लेकिन यह काम नहीं किया है (और यह सिम्फोनी की भावना में या तो नहीं था)।
आपके उत्तरों के लिए अग्रिम धन्यवाद।
मुझे लगता है कि उपयोगकर्ता का प्रमाण पत्र होने पर सबसे अच्छा तरीका एक और संदर्भ स्थापित कर रहा है। मैं एक समाधान के साथ काम कर रहा हूं लेकिन अभी तक इसे काम नहीं कर सका – Pabloks