in your bootstrap.php, something like
require ROOT . DS . APP . DS . 'Error' . DS . 'exceptions.php';
And just have exceptions.php in app/Error, mimicking/mirroring placement in lib/Cake/Error.
You may need to double check if ROOT . DS . APP is the right combo of definitions to use.
Regards
Reuben Helms
On Friday, 30 November 2012 10:00:18 UTC+10, mercury12 wrote:
-- On Friday, 30 November 2012 10:00:18 UTC+10, mercury12 wrote:
I tried your second suggestion. In "app/Lib/Error" I created "exceptions.php" and put the "ServiceUnavailableException"class inside this file. Then I wrote this into "bootstrap.php":App::uses('exceptions', 'Lib/Error');But I get the same error?
On Friday, November 30, 2012 1:51:36 AM UTC+2, Reuben wrote:Looking at App::uses(), it expects the first parameter to be a classname, rather than a file namePerhaps doing App::uses('ServiceUnavailableException', 'Lib'), and renaming the file to ServiceUnavailableException. php might be better, and more in keeping with the convention of one class per file. When Cake bootstraps its own exceptions (in lib/Cake/bootstrap.php), it does a require CAKE . 'Error' . DS . 'exceptions.php'; You could possibly follow their lead, and bundle all your exceptions in app/Error/exceptions.php, then require that from your bootstrap. Then you wouldn't need to use App::uses() at all.
On Friday, 30 November 2012 09:32:34 UTC+10, mercury12 wrote:Then I also put "App:uses()" inside bootstrap and inside controller class.But still I got the same error.
On Friday, November 30, 2012 1:29:20 AM UTC+2, Reuben wrote:You would probably need to have the App::uses() in your controller, rather than the bootstrap.I'm not sure what the best method of including the new exception type, from the bootstrap, other than a include_once() statement.. and that doesn't look nice. I've always been a bit lazy and have just included the class definition for the new exception directly in the bootstrap.php, and that's not particularly nice either.RegardsReuben Helms
On Friday, 30 November 2012 09:20:30 UTC+10, mercury12 wrote: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/ht
tpdocs /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:
Post a Comment