ShelestovAnt
@ShelestovAnt
Верстаю и программирую

Как изменить сообщение об ошибке в Laravel?

Всем привет.

В логах с ошибками есть сообщения вида:
[2015-06-17 12:43:32] local.ERROR: exception 'Symfony\Component\Debug\Exception\FatalErrorException' with message 'Class 'App\Http\Middleware\TokenMismatchException' not found' in ..................................../public_html/app/Http/Middleware/VerifyCsrfToken.php:29


Как я понял это ошибки о том что время жизни сессионного токена истекло и при каком-то действии вылетает такая ошибка.

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

Можно ли сделать так чтобы пользователю вместо ошибки которую показывает laravel показать сообщение типа "Сессия истекла из-за долгой не активности" или что-то типа такого.
  • Вопрос задан
  • 774 просмотра
Пригласить эксперта
Ответы на вопрос 2
Denormalization
@Denormalization
Так а зачем на проде DEBUG включать?

В .env прописать DEBUG=false.
Так же можно в app/Exceptions/Handler.php прописать свои логику обработки в методе render
Ответ написан
Комментировать
ShelestovAnt
@ShelestovAnt Автор вопроса
Верстаю и программирую
<?php namespace App\Http\Middleware;

use Closure;
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as BaseVerifier;

class VerifyCsrfToken extends BaseVerifier {

	/**
	 * Handle an incoming request.
	 *
	 * @param  \Illuminate\Http\Request  $request
	 * @param  \Closure  $next
	 * @return mixed
	 */
    protected $except_urls = [
        'tarif',
    ];
	public function handle($request, Closure $next)
	{
		//return parent::handle($request, $next);
		
        $regex = '#' . implode('|', $this->except_urls) . '#';

        if ($this->isReading($request) || $this->tokensMatch($request) || preg_match($regex, $request->path()))
        {
            return $this->addCookieToResponse($request, $next($request));
        }

        throw new TokenMismatchException;
	}

}


Вот содержимое файла,
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы