چگونگی ایجاد صفحه خطای سفارشی در لاراول

۱۴ فروردین ۱۳۹۷

طراحی سایت

اگر فکر می کنید که چگونه می توان صفحه خطای سفارشی مانند 403، 404، 405، 408، 500، 502، 504 را روی فریم ورک laravel ایجاد کنید ، می توانید آن را به آسانی انجام دهید و آن را اجرا کنید. شما می توانید صفحه خطای سفارشی را در کل پروژه لاروال تنظیم کنید. اگر می خواهید صفحه خطای 404 را سفارشی طراحی و برنامه نویسی کنید، می توانید آن را به آسانی انجام دهید.

شما می توانید با ایجاد

    404.blade.php, 504.blade.php

و ... صفحات خطای سفارشی خود را طراحی کنید. اگر می خواهید بدانید چگونه این کار انجام می شود به کلاس زیر مراجعه کرده و کدهای آن را مطالعه فرمایید:

    app/Exceptions/Handler.php

namespace App\Exceptions;


use Exception;
use Illuminate\Validation\ValidationException;
use Illuminate\Auth\Access\AuthorizationException;
use Illuminate\Database\Eloquent\ModelNotFoundException;
use Symfony\Component\HttpKernel\Exception\HttpException;
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;


class Handler extends ExceptionHandler
{

    protected $dontReport = [
        AuthorizationException::class,
        HttpException::class,
        ModelNotFoundException::class,
        ValidationException::class,
    ];

    public function report(Exception $e)
    {
        parent::report($e);
    }

    public function render($request, Exception $e)
    {
        if($this->isHttpException($e)){
            if (view()->exists('errors.'.$e->getStatusCode()))
            {
                return response()->view('errors.'.$e->getStatusCode(), [], $e->getStatusCode());
            }
        }
        return parent::render($request, $e);
    }
}

برای ساخت یک صفحه خطای اختصاصی کافیست با اسم آن خطا یک صفحه بسازید برای مثال خطای 404 را یک صفحه در قسمت view با نام

    404.blade.php

می سازیم به مثال زیر توجه کنید:

    resources/views/errors/404.blade.php

@extends('layouts.app')


@section('content')
    <div class="error-page">
        <h2 class="headline text-info"> 404</h2>
        <div class="error-content">
            <h3><i class="fa fa-warning text-yellow"></i> Oops! Page not found.</h3>
            <p>
                We could not find the page you were looking for.
                Meanwhile, you may <a href="">return to dashboard</a> or try using the search form.
            </p>
        </div>
    </div>
@endsection

 نویسنده:حمید شاه محمدی
 تعداد مشاهده خبر:(713)
 هر روز از مقاله های جدید طراحی سایت در کانال تلگرام ما با خبر شوید

 میانگین امتیازات:
 
  تعداد رای دهندگان: {{ count }}
نظرات:

{{ x }}
{{ alert }}

نویسنده:{{ com.name }}
{{ com.body }}
{{ com.created_at }}