我收到此错误消息:
致命错误:未捕获错误:在F:\ projects \ websites \ main_website \ app \ Exceptions \ Handler.php:65中找不到类'Auth'堆栈跟踪:#0 F:\ projects \ websites \ main_website \ vendor \ laravel \ framework \ src \ Illuminate \ Foundation \ Http \ Kernel.php(326):App \ Exceptions \ Handler-> render(Object(Illuminate \ Http \ Request),Object(Symfony \ Component \ Debug \ Exception \ FatalThrowableError))#1 F :\ projects \ websites \ main_website \ vendor \ laravel \ framework \ src \ Illuminate \ Foundation \ Http \ Kernel.php(124):Illuminate \ Foundation \ Http \ Kernel-> renderException(Object(Illuminate \ Http \ Request),对象(Symfony \ Component \ Debug \ Exception \ FatalThrowableError))#2 F:\ projects \ websites \ main_website \ public \ index.php(56):Illuminate \ Foundation \ Http \ Kernel-> handle(Object(Illuminate \ Http \ Request ))#65第65行上的F:\ projects \ websites \ main_website \ app \ Exceptions \ Handler.php中抛出了#3 {main}
对其发生的代码进行编码:
$errorLog->error_happened_to = (Auth::check() ? Auth::user()->username : 'Guest');
全班:
<?php
namespace App\Exceptions;
use Exception;
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
use App\Database\Ec9\Website\ErrorLog;
use Jenssegers\Agent\Agent;
use Auth;
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.
*
* 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)
{
if (strlen($exception->getMessage()) > 0) {
$agent = new Agent();
$errorLog = new ErrorLog;
$errorLog->error_message = $exception->getMessage();
$errorLog->error_file = $exception->getFile();
$errorLog->error_line = $exception->getLine();
$errorLog->request_ip = $request->ip();
$errorLog->request_url = $request->root();
$errorLog->request_device = $agent->isDesktop() ? 'Desktop' : ($agent->isMobile() ? 'Mobile' : 'Tablet');
$errorLog->request_system = $agent->platform() . ' ' . $agent->version($agent->platform());
$errorLog->request_browser = $agent->browser();
$errorLog->error_happened_to = (Auth::check() ? Auth::user()->username : 'Guest');
$errorLog->save();
}
return parent::render($request, $exception);
}
}
最佳答案
正如我在前面的评论中所说,在您的use
语句中使用完整的名称空间。
将此替换为use Auth;
。use Illuminate\Support\Facades\Auth;