) Пишу сейчас API для проекта, для работы с API создал два родительских контроллера от которых наследуются все остальные. В этих контроллерах вызывается метод init(), который получает необходимые данные для дальнейшей работы дочерних контроллеров. Один предназначен для выполнения общедоступных действий, а во втором в init() вызывается метод, который авторизует пользователя. Так вот, проблема вот в чем - когда в родительском контроллере предназначенном для действий требующих авторизацию, вызывается метод, который проверяет данные для авторизации и если данные не верны то кидает исключение. Все работает, но исключение выглядит таким образом:
Array
(
[name] => Exception
[message] => Not authenticated!
[code] => 0
[type] => api\exceptions\APIErrorException
[file] => /var/www/a2r2/api/controllers/InternalRestController.php
[line] => 36
[stack-trace] ...
)
а мне нужно вернуть в формате JSON и то только две строки
{
"Status" : "BAD",
"Message" : "Unauthorized"
}
Перерыл море инфы и не нашел нечего годного(( Может вы что подскажите?
Для того, чтобы была возможность кастомизировать сообщение Exception, нужно унаследоваться от класса ExitException.
Только есть один нюанс.
Вместо сообщение передает массив, обернутый в json_encode.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости