php фатальная ошибка: невозможно переопределить App \ Exceptions \ Handler :: render () в G: \ Xampp \ htdocs \ blog \ app \ Exceptions \ Handler. php в строке 55 - PullRequest
1 голос
/ 18 марта 2020

Я создаю пользовательские роли и разрешения, используя laravel 5.8, и в этом, когда я хочу запустить PermissionTableSeeder, и я запускаю в cmd следующим образом:

php artisan db: seed --class = PermissionTableSeeder.

Но он показывает эту ошибку:

php фатальная ошибка: невозможно повторно объявить App \ Exceptions \ Handler :: render () в G : \ Xampp \ htdocs \ blog \ app \ Exceptions \ Handler. php в строке 55, и это мой код:

<?php

namespace App\Exceptions;

use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
use Throwable;

class Handler extends ExceptionHandler {
/**
 * A list of the exception types that are not reported.
 *
 * @var array
 */
protected $dontReport = [
    //
];

/**
 * A list of the inputs that are never flashed for validation exceptions.
 *
 * @var array
 */
protected $dontFlash = [
    'password',
    'password_confirmation',
];

/**
 * Report or log an exception.
 *
 * @param  \Throwable  $exception
 * @return void
 *
 * @throws \Exception
 */
public function report(Throwable $exception)
{
    parent::report($exception);
}

/**
 * Render an exception into an HTTP response.
 *
 * @param  \Illuminate\Http\Request  $request
 * @param  \Throwable  $exception
 * @return \Symfony\Component\HttpFoundation\Response
 *
 * @throws \Throwable
 */
public function render($request, Throwable $exception)
{
    return parent::render($request, $exception);
}
public function render($request, Exception $exception) {
if ($exception instanceof \Spatie\Permission\Exceptions\UnauthorizedException) {
    return response()->json(['User have not permission for this page access.']);
}

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

}

1 Ответ

0 голосов
/ 18 марта 2020

Вы не можете declare/create две функции с таким же именем, как показано ниже:

public function render($request, Throwable $exception) {
    return parent::render($request, $exception);
}

public function render($request, Exception $exception) {
   if ($exception instanceof \Spatie\Permission\Exceptions\UnauthorizedException) {
    return response()->json(['User have not permission for this page access.']);
}

Чтобы решить эту проблему, удалите первую функцию и добавьте parent::render($request, $exception); в другую, как показано ниже

 public function render($request, Exception $exception) {   
    return parent::render($request, $exception); // add here
       if ($exception instanceof \Spatie\Permission\Exceptions\UnauthorizedException) {
        return response()->json(['User have not permission for this page access.']);
    }
...