• Contact Us
Wednesday, December 21, 2022
-18 °c
Teman Ngoding
  • Home
  • Tutorial
    • Laravel
    • Codeigniter
    • PHP
    • Golang
    • Java
    • Javascript
    • React JS
    • SQL
    • Problem Solution
  • Video Tutorial
    • Video Laravel
    • Video Codeigniter
    • C++
    • Video Git
  • Events
  • Berita
  • Donate
  • Indonesia
    • English
No Result
View All Result
Teman Ngoding
  • Home
  • Tutorial
    • Laravel
    • Codeigniter
    • PHP
    • Golang
    • Java
    • Javascript
    • React JS
    • SQL
    • Problem Solution
  • Video Tutorial
    • Video Laravel
    • Video Codeigniter
    • C++
    • Video Git
  • Events
  • Berita
  • Donate
  • Indonesia
    • English
No Result
View All Result
Plugin Install : Cart Icon need WooCommerce plugin to be installed.
Teman Ngoding
No Result
View All Result

Error Handling di Laravel

admin by admin
August 9, 2022
in Laravel, Tutorial
0 0
0
Home Tutorial Laravel

This post is also available in: English

Hallo apa kabar teman semuanya, semoga kalian semua sehat dan sukses. Kali ini kita akan mambahas tutorial cara mengetahui error yang terjadi pada laravel.

Laravel memberi Anda begitu banyak fleksibilitas dalam hal penanganan kesalahan. Saya yakin Anda akan mempelajari sesuatu yang baru di tutorial ini. Anda dapat mengganti salah satu templat kode status laravel.

Dan kalian dapat mempelajari tutorial yang lainnya:

Membuat Rating dan Ulasan Dengan Laravel

Drag and Drop Image/File Upload Menggunakan Laravel

REST API Login & Register Dengan Sanctum Laravel

Salah satu fitur yang utama pada laravel untuk menangani error yaitu exception handling.  Laravel dilengkapi dengan built-in exception handler yang memungkinkan Anda untuk melaporkan dan membuat pengecualian dengan mudah dan ramah.

Dalam pengaturan default yang di sediakan oleh exception handler yaitu melalui handler class untuk memahami bagaimana laravel menangani exceptions. dan kita akan melihat bagaimana kita dapat membuat exception handler untuk dapat membuat costum exceptions.

Kode dan Status Respons HTTP

CodeStatusDescription
200OkThe request was successfully completed.
201CreatedA new reesource was successfully created.
400Bad RequestThe request was invalid.
401UnauthorizedInvalid login credentials.
403ForbiddenYou do not have enough permissions to perform this action.
404Not FoundThe requested resource/page not found.
405Method Not AllowedThis request is not supported by the resource.
409ConflictThe request could not be completed due to a conflict.
500Internal Server ErrorThe request was not completed due to an internal error on the server side.
503Service UnavailableThe server was unavailable.

Anda harus mengikuti struktur file seperti yang disebutkan di atas jika tidak, Anda tidak akan dapat mengganti halaman kesalahan di atas. Untuk mendapatkan pesan kesalahan dalam file tampilan, Anda dapat menggunakan variabel berikut dalam tampilan blade Anda:

404.blade.php

{{ $exception->getMessage() }}

Install Laravel

pertama yang harus anda memluai aplikasi yaitu, kita harus insall laravel terlebih dahulu.

composer create-project laravel/laravel handling-laravel

Pengaturan Config

Setelah kita melakukan instalasi laravel, kali ini kita dapat mengatur file config kita di config/app.php.

jika sudah diatur ke TRUE, ini akan membantu Anda untuk men-debug kesalahan yang dihasilkan oleh aplikasi. Nilai default dari variabel ini diatur ke nilai variabel APP_DEBUG environment dalam .env file.

Dalam development environment, Anda harus mengatur ke TRUE sehingga Anda dapat dengan mudah melacak kesalahan dan memperbaikinya. Di sisi lain, Anda harus mematikannya saat production environment, dan akan menampilkan halaman kesalahan umum dalam hal ini.

File log standar terletak di storage/logs/laravel.log, dan cukup dalam kebanyakan kasus. Di sisi lain, APP_LOG_LEVEL diatur ke nilai yang menunjukkan tingkat keparahan kesalahan yang akan didata.

Pengaturan Hendler

Selanjutnya, kita akan melihat default Handler class yang datang dengan default aplikasi Laravel. Lanjutkan dan buka app/Exceptions/Handler.php file.

Dan kalian ingin membuat respons atau tampilan khusus untuk kesalahan khusus Anda, Anda dapat melakukannya di laravel. Yang perlu Anda lakukan adalah memodifikasi kelas App\Exceptions\Handler.

<?php

namespace App\Exceptions;

use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
use Illuminate\Database\Eloquent\ModelNotFoundException;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Response;
use Illuminate\Http\Request;
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 = [
        'current_password',
        'password',
        'password_confirmation',
    ];

    /**
     * Register the exception handling callbacks for the application.
     *
     * @return void
     */
    public function register()
    {
        $this->reportable(function (Throwable $e) {
            return false;
        });
    }

    /**
     * @param Request $request
     * @param Throwable $e
     * @return JsonResponse|Response|\Symfony\Component\HttpFoundation\Response
     * @throws Throwable
     */
    public function render($request, Throwable $e)
    {
        if ($request->is('api/*')) {
            return response()->json([
                'message' => 'Record not found.'
            ], 404);
        }

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

Kalian dapat menambahkan beberapa logika khusus lainnya di sini untuk memenuhi persyaratan pengecualian Anda.

Penanganan kesalahan menggunakan metode register

Kalian juga dapat merender halaman kesalahan yang berbeda menggunakan metode register laravel di dalam kelas App\Exceptions\Handler Anda. Mari kita ambil contoh mari kita buat kelas pengecualian baru yang akan dipanggil ketika pesanan gagal di aplikasi kita.

Untuk menghasilkan kelas pengecualian baru, ikuti perintah di bawah ini:

php artisan make:exception InvalidOrderException

Perintah di atas akan membuat file di bawah folder app/Exceptions dengan nama InvalidOrderException.php. Mari kita buka file baru ini dan modifikasi seperti yang ditunjukkan di bawah ini:

<?php

namespace App\Exceptions;

use Exception;

class InvalidOrderException extends Exception
{
    /**
     * Get the exception's context information.
     *
     * @return array
     */
    public function context(): array
    {
        return ['order_id' => 123];
    }
}

Mari kita ubah kelas App\Exceptions\Handler kita seperti yang ditunjukkan di bawah ini:

<?php

namespace App\Exceptions;

use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Response;
use Illuminate\Http\Request;
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 = [
        'current_password',
        'password',
        'password_confirmation',
    ];

    /**
     * Register the exception handling callbacks for the application.
     *
     * @return void
     */
    public function register()
    {
        $this->renderable(function (InvalidOrderException $e, $request) {
            return response()->view('errors.invalid-order', [], 500);
        });
    }
}

Sekarang, buat file bernama invalid-order.php di bawah folder app/resources/views/errors dan ubah konten file sesuai kebutuhan.

Demikian tutorial kali ini saya baut. Semoga bermanfaat.

Terimakasih.

Tags: error handling laravel
ShareTweetShare
admin

admin

Next Post
Upload Gambar WordPress ke Amazon S3

Upload Gambar Wordpress ke Amazon S3

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

  • Trending
  • Comments
  • Latest
Tutorial CodeIgniter 4 part 1 ~ RESTful API JWT Authentication

Tutorial CodeIgniter 4 part 1 ~ RESTful API JWT Authentication

June 2, 2022
Codeigniter 4 ~ Membuat Notifikasi Menggunakan SweetAlert

Codeigniter 4 ~ Membuat Notifikasi Menggunakan SweetAlert

June 8, 2022
Tutorial Codeigniter 4 ~ Login dan Register

Tutorial Codeigniter 4 ~ Login dan Register

May 30, 2022
REST API Login dan Register Node.js dengan JWT

REST API Login dan Register Node.js dengan JWT

July 28, 2022
Tutorial Codeigniter 4 ~ Login dan Register

Tutorial Codeigniter 4 ~ Login dan Register

5
Rekomendasi tempat belajar pemrograman

Rekomendasi tempat belajar pemrograman

3
Menghilangkan Public dan Index.php dari URL Codeigniter 4

Menghilangkan Public dan Index.php dari URL Codeigniter 4

2
Membuat Sitemap Otomatis Codeigniter 4

Membuat Sitemap Otomatis Codeigniter 4

1
Access MongoDB With Node.JS

Akses MongoDB Dengan Node.JS

September 26, 2022
Teorema Structured Control

Basic Programming – Structured Control Theorem

September 23, 2022
WEB CRUD LocalStorage Menggunakan JavaScript

WEB CRUD LocalStorage Menggunakan JavaScript

September 22, 2022
DOM dan GOM Javascript

Perbedaan BOM Dan DOM Pada JavaScript

September 20, 2022
Teman Ngoding

Teman Ngoding tempat berbagi tutorial pemrograman
Read more

Categories

  • Berita
  • C++
  • Codeigniter
  • Events
  • Flutter
  • Golang
  • Java
  • Javascript
  • Laravel
  • MongoDB
  • News
  • Node JS
  • Pemrograman
  • PHP
  • Problem Solution
  • React JS
  • SQL
  • Tutorial
  • TypeScript
  • TypeScript
  • Video Codeigniter
  • Video Git
  • Video Laravel
  • Video Tutorial

Tags

ajax belajar golang belajar reactjs blog browser seluler Cara mendapatkan Uang dari Blog codeigniter codeigniter 3 codeigniter 4 codeigniter4 embed html Error Handling flutter flutter vs react native golang golang dasar html infinite scroll javascript javascript tutorial laravel laravel 8 laravel9 laravel 9 load more ajax Menggunakan Multiple select2 dan menyimpan dengan format json mongodb nodejs pdf pemrograman ajax pemrograman golang pemrograman php reactjs reactjs tutorial reactjs vs react native rest api rest api codeigniter 4 tutorial codeigniter 4 tutorial golang tutorial javascript tutorial laravel tutorial laravel 8 tutorial nodejs tutorial reactjs uang dari blog

Recent News

Access MongoDB With Node.JS

Akses MongoDB Dengan Node.JS

September 26, 2022
Teorema Structured Control

Basic Programming – Structured Control Theorem

September 23, 2022

© 2022 Teman Ngoding.

No Result
View All Result
  • Home
  • Tutorial
    • Laravel
    • Codeigniter
    • PHP
    • Golang
    • Java
    • Javascript
    • React JS
    • SQL
    • Problem Solution
  • Video Tutorial
    • Video Laravel
    • Video Codeigniter
    • C++
    • Video Git
  • Events
  • Berita
  • Donate
  • Indonesia
    • English

© 2022 Teman Ngoding.

Login to your account below

Forgotten Password?

Fill the forms bellow to register

All fields are required. Log In

Retrieve your password

Please enter your username or email address to reset your password.

Log In
  • English
  • Indonesia