2009-11-19 12 views

उत्तर

32

अपने नियंत्रक में, आप उपयोगकर्ता ऑब्जेक्ट के माध्यम से सत्र चर का उपयोग कर सकते हैं।

// Get a session value 
$name = $this->getUser()->getAttribute('name', 'default_value'); 
// Set a session value 
$this->getUser()->setAttribute('name', $value); 
+1

आपके विचार में, आप '$ sf_user' चर के माध्यम से सत्र चर का उपयोग कर सकते हैं, वैसे ही आप नियंत्रक में '$ this-> getUser()' के साथ करते हैं। – Throoze

+0

मुझे नहीं लगता कि यह काम करेगा यदि आपके पास कोई उपयोगकर्ता या फ़ायरवॉल नहीं है। – Ascherer

80

Symfony2 में, वाक्य रचना अलग है:

$session = $this->getRequest()->getSession(); 

// store an attribute for reuse during a later user request 
$session->set('foo', 'bar'); 

// in another controller for another request 
$foo = $session->get('foo'); 

तुम भी, टहनी से सत्र चर प्राप्त कर सकते हैं सत्र चर स्पष्ट रूप से (यह वैश्विक 'ऐप्लिकेशन' में है) पारित करने के लिए बिना:

{{ app.session.get('foo', 'bar'); }} 
+2

** सिम्फनी: ** _because जो वास्तव में डेमेटर के कानून की परवाह करता है? _ – rdlowrey

+5

सत्र चर का उपयोग कैसे डेमेटर के कानून का उल्लंघन करता है? – Videl

+3

@ वेडल यह उन सत्रों का उपयोग नहीं कर रहा है जो LoD का उल्लंघन करते हैं, इसकी सिम्फनी से अमूर्त परत है। –

संबंधित मुद्दे