第68行的app / Exceptions / Handler.php

时间:2017-05-08 19:17:59

标签: laravel-5.4

我是PHP和Laravel的新手。 我正在使用Laravel Framework版本" laravel / framework":" 5.4。*"和PHP 7。

我正在构建多级身份验证。

我一直关注https://www.youtube.com/watch?v=P8T3MjZPDdI Alexander Curtis视频。

我得到的错误是:

PHP Parse错误:语法错误,意外' $ login' (T_VARIABLE)在第68行的app / Exceptions / Handler.php中

    $login = 'admin.login';

[Mon May 8 20:53:30 2017] PHP致命错误:在第0行的未知状态下没有堆栈帧抛出异常

代码是https://github.com/DevMarketer/multiauth_tutorial/archive/part_3.zip

多次仔细检查

我使用Laravel方式进行身份验证,而不是任何外部程序包。 website / admin / login显示空白页面。

webserver也是php artisan serve。

我遇到了这个错误。

<?php

namespace App\Exceptions;

 use Exception; use Illuminate\Auth\AuthenticationException; use
 Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;

 class Handler extends ExceptionHandler {
     /**
      * A list of the exception types that should not be reported.
      *
      * @var array
      */
     protected $dontReport = [
         \Illuminate\Auth\AuthenticationException::class,
         \Illuminate\Auth\Access\AuthorizationException::class,
         \Symfony\Component\HttpKernel\Exception\HttpException::class,
         \Illuminate\Database\Eloquent\ModelNotFoundException::class,
         \Illuminate\Session\TokenMismatchException::class,
         \Illuminate\Validation\ValidationException::class,
     ];


 /**
  * Report or log an exception.
  *
  * This is a great spot to send exceptions to Sentry, Bugsnag, etc.
  *
  * @param  \Exception  $exception
  * @return void
  */
 public function report(Exception $exception)
 {
     parent::report($exception);
 }

 /**
  * Render an exception into an HTTP response.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Exception  $exception
  * @return \Illuminate\Http\Response
  */
 public function render($request, Exception $exception)
 {
     return parent::render($request, $exception);
 }

 /**
 * Convert an authentication exception into an unauthenticated   
 * response.

  * @param  \Illuminate\Http\Request  $request
  * @param  \Illuminate\Auth\AuthenticationException  $exception
  * @return \Illuminate\Http\Response
  */

添加了多个登录部分的代码的第二部分

    protected function unauthenticated($request, AuthenticationException $exception)
{
    if ($request->expectsJson()) {
        return response()->json(['error' => 'Unauthenticated.'], 401);
    }

    $guard = array_get($exception->guards(),0);

    switch ($guard) {
      case 'admin':
        # code...
         $login = 'admin.login';
        break;

      default:
        # code...
       $login ='login';
        break;
    }

    return redirect()->guest(route($login));
}
} 

1 个答案:

答案 0 :(得分:0)

您忘记删除默认的崇高文字建议: 因此,在$ login声明之前删除“#code ...”。

  switch ($guard) {
      case 'admin':
        *# code...*
         $login = 'admin.login';
        break;

      default:
        *# code...*
       $login ='login';
        break;
    }