2010-11-15 21 views
26

मैं जानबूझकर अपने ज़ेंड फ्रेमवर्क एप्लिकेशन में नियंत्रकों में से एक के भीतर 404 त्रुटि का कारण बनना चाहता हूं। मैं यह कैसे कर सकता हूँ?ज़ेंड फ्रेमवर्क: जानबूझकर 404 त्रुटि कैसे फेंकें?

उत्तर

51

एक 404 पर पुन: निर्देशित होगा:

throw new Zend_Controller_Action_Exception('Your message here', 404); 

या अपवाद के बिना:

$this->_response->clearBody(); 
$this->_response->clearHeaders(); 
$this->_response->setHttpResponseCode(404); 
+0

अच्छा, मुझे नहीं पता था कि आप उस अपवाद के लिए कोड सेट कर सकते हैं। एपीआई दस्तावेज़ यह इंगित करता है कि यह केवल आंतरिक उपयोग के लिए है, हालांकि। – Juan

+0

ठीक है, मैं इसे कस्टम मार्गों के साथ हर समय उपयोग करता हूं .. उदाहरण के लिए 'example.com/: मॉड्यूल /: नियंत्रक /: यादृच्छिक'। नियंत्रक में मैं जांचता हूं कि यादृच्छिक मौजूद है या नहीं, अन्यथा मैं 404 के साथ फेंक और अपवाद करता हूं और यह काम करता है :-) –

+1

बिल्कुल मुझे इसका उपयोग क्यों करना है। =] धन्यवाद – Andrew

1

आप हमेशा मैन्युअल प्रतिक्रिया कोड सेट कर सकते हैं, किसी भी अपवाद फेंकने के बिना।

$this->_response->clearBody(); 
$this->_response->clearHeaders(); 
$this->_response->setHttpResponseCode(404); 
संबंधित मुद्दे