डेटाबेस कनेक्शन विफल होने पर मैं वाईआई त्रुटि संदेश नहीं देखना चाहता हूं। डेटाबेस कनेक्शन Yii ढांचे के साथ विफल होने पर मैं किसी विशिष्ट पृष्ठ पर पुनर्निर्देशित कैसे कर सकता हूं? धन्यवाद।वाईआई में डेटाबेस कनेक्शन विफल होने पर मैं किसी विशिष्ट पृष्ठ पर रीडायरेक्ट कैसे कर सकता हूं?
6
A
उत्तर
6
सभी CDbConnection त्रुटियों को पकड़ने के लिए आप config में कोई त्रुटि हैंडलर/main.php
'components'=>array('errorHandler'=>array('errorAction'=>'site/error',),),
फिर, अपने नियंत्रक (या अपने सभी नियंत्रकों के लिए एक सार आधार वर्ग) के भीतर आपके द्वारा निर्धारित की जरूरत है सक्षम करने की आवश्यकता पुनर्निर्देशन को पूरा करने के लिए एक कार्रवाई।
public function actionError() {
if($error=Yii::app()->errorHandler->error)
if (CDbException == $error->type) {
$this->redirect(array("site/error_message")); }
// call the parent error handler, but something doesn't feel right about this:
else
parent::actionError(); }
वैकल्पिक रूप से आप सिर्फ अपने कस्टम दृश्य प्रदान कर सकते हैं:
public function actionError() {
if($error=Yii::app()->errorHandler->error)
if (CDbException == $error->type) {
$this->render('error', $error); } }
अधिक जानकारी के लिए Yii docs देखें।
1
आप की तरह कुछ कर सकते हैं:
try {
$connection=new CDbConnection($dsn,$username,$password);
} catch(Exception $e) {
$this->redirect(array('controller/action'));
}
आप रीडायरेक्ट के साथ अतिरिक्त जानकारी पारित कर सकते हैं, here देखते हैं।
संबंधित मुद्दे
- 1. जावास्क्रिप्ट अक्षम होने पर किसी अन्य पृष्ठ पर रीडायरेक्ट करें
- 2. एएसपी.नेट एमवीसी के साथ सत्र पृष्ठ पर रीडायरेक्ट होने पर
- 3. मैं जावा पृष्ठ पर रीडायरेक्ट कैसे कर सकता हूं और जावा में उस पृष्ठ पर वेरिएबल्स कैसे पास करूं?
- 4. मैं ज़ेंड फ्रेमवर्क 2 में पिछले पृष्ठ पर रीडायरेक्ट कैसे कर सकता हूं?
- 5. मैं किसी डोमेन को किसी विशिष्ट "लैंडिंग पृष्ठ" पर रीडायरेक्ट कैसे करूं?
- 6. मैं एक यूआरएल पर कैसे रीडायरेक्ट कर सकता हूं?
- 7. मैं कैसे गिन सकता हूं कि किसी पृष्ठ पर jQuery
- 8. वसंत सुरक्षा: प्रमाणीकरण विफल होने पर लॉगिन पृष्ठ पर पुनर्निर्देशित
- 9. एएसपी.नेट - रोल पेज प्रमाणीकरण विफल होने पर त्रुटि पृष्ठ पर रीडायरेक्ट
- 10. प्राधिकरण विफल होने पर किसी उपयोगकर्ता को एक विशिष्ट दृश्य पर पुनर्निर्देशित करता है?
- 11. मैं विशिष्ट कनेक्शन पर विभिन्न प्रमाणपत्रों का उपयोग कैसे कर सकता हूं?
- 12. मैं C++ में किसी विशिष्ट समय पर फ़ंक्शन कैसे लॉन्च कर सकता हूं?
- 13. किसी पृष्ठ को 5 सेकंड के लिए किसी अन्य पृष्ठ पर रीडायरेक्ट करना, फिर रीडायरेक्ट करना
- 14. क्या मैं django TemplateView में किसी अन्य यूआरएल पर रीडायरेक्ट कर सकता हूं?
- 15. मैं वेबटेस्ट कैसे विफल कर सकता हूं?
- 16. रखरखाव पृष्ठ पर अस्थायी रीडायरेक्ट
- 17. Symfony2: किसी विशिष्ट पृष्ठ पर रीडायरेक्ट कैसे करें जब उपयोगकर्ता को यूआरएल पैटर्न
- 18. मैं किसी वेब पेज पर किसी निर्दिष्ट पिक्सेल का रंग कैसे प्राप्त कर सकता हूं?
- 19. JQuery UI टैब: मैं किसी अन्य पृष्ठ से सीधे किसी टैब पर कैसे जा सकता हूं?
- 20. मैं डेटाबेस में किसी विशिष्ट तालिका के संयोजन को कैसे प्राप्त कर सकता हूं?
- 21. मैं कुकी कैसे सेट कर सकता हूं और फिर PHP में रीडायरेक्ट कर सकता हूं?
- 22. प्रविष्टि विफल होने पर
- 23. मैं HTML5 का उपयोग कर किसी पृष्ठ पर एक वीडियो और प्लेलिस्ट कैसे जोड़ सकता हूं?
- 24. मैं डेटटाइम पिकर नियंत्रण को किसी विशिष्ट तिथि पर कैसे सेट कर सकता हूं?
- 25. मैं उस पृष्ठ पर वापस रीडायरेक्ट कैसे करूं जो मैं वर्तमान में चालू हूं?
- 26. स्प्रिंग एमवीसी "रीडायरेक्ट:" उपसर्ग हमेशा http पर रीडायरेक्ट करता है - मैं इसे https पर कैसे बना सकता हूं?
- 27. क्रोम एक्सटेंशन: विशिष्ट वेब अनुरोध के जवाब में कस्टम HTML पृष्ठ पर रीडायरेक्ट कैसे करें?
- 28. प्रमाणीकरण के बाद अनुरोधित पृष्ठ पर रीडायरेक्ट
- 29. डेटाबेस अनुपलब्ध होने पर SQLite कनेक्शन विफल हो जाता है? (हटाया/स्थानांतरित)
- 30. मैं "कस्टम प्रोटोकॉल" कैसे बना सकता हूं और इसे किसी एप्लिकेशन पर मैप कर सकता हूं?
सुंदर दृष्टिकोण –
क्यों न केवल इसे सरल बनाएं: अगर ($ त्रुटि = Yii :: ऐप() -> त्रुटि हैंडलर-> त्रुटि && CDbException == $ त्रुटि-> प्रकार) {...} ??? – Fydo
@Fydo: हाँ, यह वही काम करना चाहिए। लेकिन मैं पाइथोनिक PHP पसंद करता हूं;) (स्पष्ट, पठनीय, महत्वपूर्ण इंडेंटेशन, आदि) – hobs