Thank you very much.
After making this, everything is solved:

require(APP . 'Lib' . DS . 'MyExceptions.php');


On Friday, November 30, 2012 2:05:41 AM UTC+2, Reuben wrote:
>
> The second suggestion calls for using require, instead of App::uses
>
> 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:
>>
>> 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 name
>>>
>>> Perhaps 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.
>>>>>
>>>>> Regards
>>>>> Reuben 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/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 [email protected].
To unsubscribe from this group, send email to 
[email protected].
Visit this group at http://groups.google.com/group/cake-php?hl=en.


Reply via email to