CakePHP 2 में कस्टम 503 अपवाद फेंकना




exception-handling cakephp-2.0 (2)

http://api22.cakephp.org/class/cake-response#method-CakeResponsestatusCode

आपको एक स्थिति कोड सेट करने की अनुमति देगा।

मुझे 503 सेवा अनुपलब्ध HTTP शीर्षलेख देना होगा।

सामान्यतः मैं इन्हें 404 और 500 कोड के लिए उपयोग करता हूं

throw new NotFoundException();
throw new InternalErrorException();

लेकिन मुझे CakePHP 2.2 में 503 के लिए प्रासंगिक अपवाद नहीं मिला?

मेरे "ऐप / लिब / अप एक्सेप्शनहैंडलर.एफ़पीपी" फ़ाइल में मुझे ये क्लास / फ़ंक्शन है जो त्रुटियों को संभालता है I

class AppExceptionHandler {
    public static function handle($error) {
     }

संपादित करें:

  • " ऐप / लिब " फ़ोल्डर के अंदर मैंने " MyExceptions.php " नामक फ़ाइल बनाई। मैंने इस फाइल के अंदर निम्नलिखित कोड लिखा था:

    class ServiceUnavailableException extends CakeException {
    
    protected $_messageTemplate = 'Service is not available now';
    
    }
  • " Bootstrap.php " में मैंने यह लिखा था:

    ऐप :: उपयोग ('माय एक्सस्पेक्शन', 'लिब');

  • फिर " MyNewController.php " फ़ाइल के अंदर मैंने यह लिखा था:

    नया ServiceUnavailableException फेंक ("बस" कोशिश कर रहा है);

लेकिन तब मुझे यह त्रुटि मिलती है जब मैं यह अपवाद निकालता हूं:

Fatal error: Class 'ServiceUnavailableException' not found in
 /var/www/vhosts/example.com/httpdocs/app/Controller/MyNewController.php
 on line 3560

Warning (2): Cannot modify header information - headers already sent by
(output started at 
/var/www/vhosts/example.com/httpdocs/app/Controller/MyNewController.php:3560)
[APP/Lib/AppExceptionHandler.php, line 19]

मुझे क्या याद आती है? धन्यवाद


केक 2.0 किताब में अपवाद पृष्ठ एक पठन के लायक है।

यहाँ मेरा छोटा परीक्षण है:

// in bootstrap.php
require(APP . 'Lib' . DS . 'MyExceptions.php');


// in /Lib/MyExceptions.php
class ServiceUnavailableException extends CakeException {

    protected $_messageTemplate = 'Test';
}

// in controller
throw new ServiceUnavailableException('Service unavailable', 503);






http-status-code-503