Yii 2

2015-05-28 7 views
5

से नियंत्रक तक पहुंचने के लिए त्वरित तरीका, इसलिए वाईआई 1 में, दृश्य फ़ाइल में आप $this->action() या $this->property का उपयोग कर नियंत्रक के गुण/क्रियाओं तक पहुंच सकते हैं।Yii 2

वाईआई 2 में, एकमात्र तरीका मैं इसे संभव देख सकता हूं Yii::$app->controller->property या Yii::$app->controller->action() का उपयोग कर रहा है। मैं जरूरी से अधिक कोड लिखना नहीं चाहता हूं, इसलिए मैं सोच रहा था कि ऐसा करने का एक छोटा तरीका है या नहीं।

उत्तर

14

देखने के लिए नियंत्रक मूल रूप से "संदर्भ" है जहां इस दृश्य को प्रस्तुत किया गया था।

वर्तमान संबंधित नियंत्रक को देखने के लिए विशेष संपत्ति है और इसे बिल्कुल इस तरह कहा जाता है: context

उदाहरण: $this->context

सरकारी डॉक्स:

+3

खैर मैं रफ़ू किया होगा ... मैं कुछ आज :) – Blizz

+1

सीखा यह पूरी तरह से काम करता है और एक लगता है 'Yii :: $ app-> नियंत्रक की तुलना में थोड़ा अधिक सहज;' – jtotheh

+1

यह भी अच्छा है यदि आप विजेट विकसित कर रहे हैं और मुख्य विजेट सह को कॉल करना चाहते हैं विजेट दृश्य फ़ाइल से mponent। – friek108

0

\Yii::$app->controller वास्तव में ऐसा करने का एकमात्र "वास्तविक" तरीका है।

public function actionWhatever() 
{ 
    return $this->render('view', ['controller' => $this]); 
} 

फिर अपने ध्यान में रखते हुए आप एक $controller -variable है:

थोड़ा कम लेखन की एक तरीका नहीं है, पता नहीं है, तो इसके लायक प्रयास है।

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