Как сделать вывод своих сообщений об ошибке в lumen 10?

В Lumen 10, который является минималистичным фреймворком на основе Laravel, для вывода своих сообщений об ошибках вы можете воспользоваться функциональностью механизма обработки исключений (exception handling).

Сначала вам необходимо открыть файл app/Exceptions/Handler.php. В этом файле находится класс Handler, который является ответственным за обработку исключений в Lumen. Внутри этого класса есть метод render, который используется для обработки исключений и ответа на них.

В методе render вы можете добавить свое собственное поведение, чтобы обрабатывать и выводить свои собственные сообщения об ошибках. Например, вы можете проверить тип исключения и, если это ваше собственное исключение, выводить свое сообщение об ошибке.

Вот пример кода, который демонстрирует, как это можно сделать:

<?php

namespace AppExceptions;

use Exception;
use IlluminateFoundationExceptionsHandler as ExceptionHandler;

class Handler extends ExceptionHandler
{
    // ...

    public function render($request, Exception $exception)
    {
        // Если исключение является вашим собственным исключением, выводим свое сообщение об ошибке
        if ($exception instanceof AppExceptionsCustomException) {
            return response()->json([
                'error' => $exception->getMessage(),
            ], 500);
        }

        return parent::render($request, $exception);
    }
}

В данном примере, если исключение, которое было выброшено, является вашим собственным исключением CustomException, мы возвращаем JSON-ответ с сообщением об ошибке и кодом ответа 500.

Вы также можете изменить этот пример, чтобы выполнять другие действия, в зависимости от требований вашего проекта. Например, вместо возврата JSON-ответа вы можете выводить сообщение об ошибке на странице с помощью шаблонизатора Blade.

Помимо этого решения, в Lumen также доступны другие способы вывода сообщений об ошибках. Вы можете использовать функцию abort для выброса исключений с пользовательскими кодами ответа и сообщениями или использовать функцию report для регистрации пользовательских обработчиков исключений. Все это зависит от ваших конкретных потребностей и предпочтений.