Thursday, November 29, 2012

Throwing a custom 503 exception in CakePHP 2

I need to give a 503 Service Unavailable HTTP header.

Normally I use these for 404 and 500 codes

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

But I couldn't find relevant exception for 503 in CakePHP 2.2?

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

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

Edit:

  • Inside "app/Lib" folder I created a file named "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 this:

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

  • Then inside "MyNewController.php" file I wrote this:

    throw new ServiceUnavailableException("tryout");

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 do I miss? Thank you

--
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP
 
---
You received this message because you are subscribed to the Google Groups "CakePHP" group.
To post to this group, send email to cake-php@googlegroups.com.
To unsubscribe from this group, send email to cake-php+unsubscribe@googlegroups.com.
Visit this group at http://groups.google.com/group/cake-php?hl=en.
 
 

No comments: