2011-12-16 9 views
5

में किसी व्यवहार के अंदर एक सत्र चर को पढ़ना मेरे पास एक ऐसा व्यवहार है जो सत्र में संग्रहीत उपयोगकर्ता आईडी के आधार पर उपयोगकर्ता डेटा को अलग करने में सक्षम बनाता है। CakePHP 1.3 में आप ऐसा कर सकता है:केकफ़्प 2

App::import('Component', 'Session'); 
$session = new SessionComponent(); 
$session->read('Auth.User.id'); 

लेकिन CakePHP 2 में, आप एक व्यवहार में ऐसे ही एक घटक का दृष्टांत नहीं कर सकते क्योंकि घटक __construct एक पैरामीटर के रूप नियंत्रक ComponentCollection की आवश्यकता है।

क्या केकपीएचपी 2 में किसी व्यवहार के भीतर सत्र चर का उपयोग करना संभव है? ऐसा करने का सबसे अच्छा तरीका क्या है?

उत्तर

23

यदि आप SessionComponent कोड देखते हैं, तो आप देखेंगे कि यह CakeSession कक्षा के लिए केवल एक रैपर है।

तो आप कर सकते हैं निम्नलिखित:

App::uses('CakeSession', 'Model/Datasource'); 
$user_id = CakeSession::read('Auth.User.id'); 
+1

अच्छी पकड़ .. जब मैंने कल रात पोस्ट किया तो स्पष्ट रूप से बहुत मुश्किल नहीं सोच रहा था। –

3

CakePHP 2.0 में आप भी बस कुछ भी लोड करने के लिए बिना स्थिर CakeSession :: विधि() के माध्यम से सत्र-तरीकों कॉल कर सकते हैं ...; -)

+3

अच्छी तरह से, आपकी कक्षा में अभी भी 'ऐप :: उपयोग (' केकसेशन ',' मॉडल/डेटासोर्स ') होना चाहिए; 'कथन, यद्यपि! ;) – mark

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