Throw custom 503 exception in CakePHP 2

I need to specify the 503 Service Unavailable HTTP header.

I usually use them for 404 and 500 codes

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

But I could not find the corresponding exception for 503 in CakePHP 2.2?

In my file "app / lib / AppExceptionHandler.php" I have this class / function that handles errors.

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

Edit:

  • Inside the application / lib folder, I created a file called " MyExceptions.php ". I wrote the following code inside this file:

     class ServiceUnavailableException extends CakeException { protected $_messageTemplate = 'Service is not available now'; } 
  • In " bootstrap.php " I wrote the following:

    App :: uses ('MyExceptions', 'Lib');

  • Then, in MyNewController.php, I wrote the following:

    throw new ServiceUnavailableException ("just trying");

But then I get this error when I throw this exception:

 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] 

What am I missing? Thanks you

+2
source share
2 answers

The exclude page in the Cake 2.0 book is worth a read.

Here is my short test:

 // 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); 
+3
source

Source: https://habr.com/ru/post/898848/


All Articles