CakePHP 2: новые исключения

Я хотел бы создать новое исключение с именем SecurityException. Куда мне вставить код?

class SecurityException extends CakeException {};

Спасибо!


person entropid    schedule 07.10.2011    source источник
comment
Связано: stackoverflow. ком/вопросы/13590614/   -  person trante    schedule 30.11.2012


Ответы (2)


Создайте файл exceptions.php, поместите его в папку Lib и заполните его всеми вашими *Exception классами. Затем включите его в загрузочный файл вашего приложения.

require APP . 'Lib' . DS . 'exceptions.php';

Все исключения станут доступны для всего приложения.

person luchomolina    schedule 12.10.2011
comment
Есть еще один подход: поместить исключения в ([plugin-if-any])/Lib/Error/ Exception/NameOfTheException.php и используйте App::uses('NameOfTheException', 'Error/Exception') там, где это необходимо. Похоже на тортовый способ сделать это, и они не включены, если только один из них на самом деле не брошен. - person luchomolina; 12.10.2011
comment
@luchomolina, это тоже должен быть ответ. Это тот самый неловкий случай, когда комментарий собирает больше плюсов, чем пост :) - person Serge S.; 30.07.2015

Я последовал второму ответу Лучомолины (прокомментировал его собственный ответ) и подумал, что он заслуживает официального ответа:

Вот еще один подход: «поместите исключения в ([plugin-if-any])/Lib/Error/Exception/NameOfTheException.php и используйте App::uses('NameOfTheException', 'Error/Exception'), где они необходимы. Это выглядело как тортовый способ сделать это, и они не включены, если только один из них на самом деле не брошен». –лучомолина

person Mike T    schedule 25.06.2014