Media Pengembangan Web & App | by APPKEY

Pembuatan WebsiteLaravelTutorial Belajar Middleware Terlengkap | Seri Belajar Laravel

Tutorial Belajar Middleware Terlengkap | Seri Belajar Laravel

-

Pernahkah Anda mendengar nama komponen middleware saat membaca referensi mengembangkan website atau aplikasi? Middleware adalah salah satu elemen penting yang sering digunakan dalam proses ngoding. Alhasil, mengetahui apa itu Middleware adalah hal yang penting agar proses ngoding Anda menjadi semakin mudah.

Kabar gembiranya, artikel seri belajar Laravel kali ini akan mengupas tuntas persoalan Middleware khusus untuk Anda. Sudah penasaran? Yuk langsung saja kita simak pembahasannya berikut ini. Selamat membaca!

Apa Itu Middleware Laravel? Definisi, Peranan dan Manfaat

middleware-laravel

Middleware adalah nama yang sudah tidak asing lagi para web programmer. Apa itu Middleware? Dalam dunia programming, Middleware adalah sebuah software layer. Sesuai namanya ‘middle’ yang berarti tengah, maka letak Middleware adalah berada di tengah antara controller dan router. Ada pula yang mengartikan Middleware adalah software yang menengahi sebuah aplikasi dengan yang lain. Dengan begini, proses integrasi antar aplikasi dapat berjalan dengan lebih mudah.

Posisi middleware yang berada di tengah ini bukanlah tanpa sebab. Dalam proses pembuatan produk-produk software (aplikasi, website maupun web app), sering kita diwajibkan dengan tugas membuat filter yang mampu memverifikasi keaslian request yang masuk. Filter dan verifikasi ini berguna untuk mengecek beragam status dari request seperti status login, token Cross Site Request Forgery (CSRF), dan privillage request. Pun Middleware adalah komponen yang dipercayakan untuk mengemban tugas-tugas tersebut.

Artikel Terkait  Virtual Private Server Adalah? memahami tentang VPS

Middleware dimiliki oleh banyak framework, termasuk Laravel. Kemunculan Middleware Laravel adalah pada Laravel 5. Biasanya, Middleware Laravel adalah komponen utama yang digunakan untuk melakukan proses autentikasi (authentication). Sebenarnya terdapat beberapa fungsi umum dari Middleware dalam dunia programming. Fungsi-fungsi Middleware secara umum adalah:

  • Authentication (seperti pada Laravel).
  • Validasi input.
  • Authorization.
  • Data logger.
  • Sanitasi input.
  • Meresponse handler, dan lain sebagainya.

Middleware Laravel adalah komponen yang bertugas mengecek apakah user sudah mempunyai hak mengakses web atau belum. Pun Middleware Laravel adalah sebuah class khusus yang menengahi Controller tujuan dengan request masuk.

Middleware juga membantu meringankan beban kerja Controller, sebab, Controller dapat berfokus untuk bekerja mengurus logika alur bisnis dari flow saja. Controller tidak perlu mengurus hal-hal di luar proses flow seperti memvalidasi request masuk – itu semua adalah pekerjaan Middleware.

Apa keuntungan memakai Middleware? Keuntungan Middleware adalah memastikan setiap input sudah bersih dan cocok dengan alur flow aplikasi atau website, sehingga akan lebih mudah untuk diproses Controller. Selain itu, code aplikasi dan website Anda akan menjadi lebih tahan lama, mudah dipelihara (maintainable), mudah terbaca dan dapat digunakan berulang kali (reusable).

Seperti Apa Cara Kerja Middleware Laravel?

Kira-kira bagaimana cara kerja Middleware Laravel untuk memproses autentikasi request? Sederhananya, cara kerja Middleware Laravel mirip sebagai ‘satpam’ yang mengecek setiap orang sebelum memasuki suatu gedung. Middleware akan mencegat request masuk, memproses dan memvalidasinya terlebih dahulu, kemudian menyalurkan request tersebut ke Controller tujuan atau Controller lain.

Laravel punya 3 jenis Middleware yang bisa digunakan untuk menjalankan proses di atas. Ketiga jenis Middleware Laravel adalah: RedirectIfAuthenticated.php, VerifyCsrfToken.php dan Authenticate.php. Kesemua token tersimpan dalam folder direktori app/Http/Middleware di Laravel.

Setiap fungsi Middleware Laravel mempunyai method khusus bernama handle(). Method pada Middleware Laravel inilah yang akan dipanggil otomatis ketika developer meregistrasikan middleware. Method ini pun terbagi lagi mempunyai 2 jenis parameter yakni Closure $next dan Illuminate\Http\Request $request.

Seperti pada contoh pengaplikasian Middleware Laravel berikut ini. Untuk menambahkan Middleware ke program, Anda cukup membuat kelas baru di Laravel dengan format code:

Artikel Terkait  Aplikasi Pembuat Website Terbaik dan Gratis

<?php
namespace App\Http\Middleware;
use Closure;
class MyMiddleware
{
public function handle($request, Closure $next)
{
//input coding di sini...
}
}

Kemudian, method handle() berguna untuk memfilter setiap jenis request yang masuk agar tujuan di Controller hanya bisa dijangkau oleh user yang memiliki akses role admin atau admin. Namun agar bisa digunakan, Anda harus mendefinisikan method handle () terlebih dahulu dengan contoh code:

public function handle($request, Closure $next)
{
$user = Auth::user();
if($user->role === User::ROLE_ADMIN) {
return $next($request);
}
return redirect('home');
}

Pada kode di atas, apabila diaplikasikan, maka akan terjadi proses mengecek role user yang sedang login kala itu. Jika Middleware mendeteksi user mempunyai role admin, maka ia akan meneruskan request ke Controller tujuan memakai method $next($request). Jika request tidak punya role admin, Middleware akan otomatis mengembalikannya ke home. Praktis bukan menggunakan Middleware untuk mengecek setiap request?

3 Cara Meregistrasi Middleware pada Laravel

mengatasi-middleware

Terdapat 3 cara praktek meregistrasi Middleware pada framework Laravel. Ketiga cara tersebut adalah meregistrasi Middleware secara global, registrasi pada controller, dan registrasi pada routes.

Registrasi Middleware Global

Untuk meregistrasi Middleware secara global, Anda cukup menambahkan Middleware pada file app/Http/Kernel.php saja. Setiap Middleware bisa diregistrasi secara global. Hasilnya, Middleware akan selalu dipanggil kapanpun ada request masuk ke sistem.

Artikel Terkait  Cara Mengecek Domain website dengan Tepat

Contoh code untuk registrasi Middleware global di Laravel:

protected $middleware = [
\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\MyGlobalMiddleware::class, //input code Middlware baru Anda di sini
];

Registrasi Middleware Controller

Selanjutnya adalah meregistrasi Middleware secara spesifik di Controller agar fungsinya berlaku pada setiap method yang ada di Controller. Berbeda dengan fungsi global, Middleware yang diregistrasi pada Controller dapat dikustomisasi pengaturannya agar bekerja secara spesifik pada method-method tertentu saja. Ada juga beberapa method di Controller yang bisa Anda kecualikan, lho, jika memang dirasa tidak perlu untuk disematkan Middleware.

Contoh code untuk registrasi Middleware Controller di Laravel:

class MyController extends Controller
{
function __construct()
{
$this->middleware('my-middleware');
$this->middleware('log-middleware', ['only' => ['foo', 'bar']]); //selected method
$this->middleware('subscribe-middleware', ['except' => ['baz']]) ; //exclude method
}
}

Registrasi Middleware Routes

Terakhir adalah cara meregistrasi Middleware pada routes. Menambahkan Middleware ke Routes juga sama seperti global – Anda bisa melakukannya semudah menambahkan Middleware baru ke file app/Http/Kernel.php. Terdapat 2 tahap dalam meregistrasi Middleware ke Routes, yakni melakukan registrasi dan mendefinisikan routes yang akan dipakai Middleware.

Anda bisa meregistrasi Middleware dengan contoh code:

protected $routeMiddleware = [
'auth' => \App\Http\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'csrf' => \App\Http\Middleware\VerifyCsrfToken::class,
'oauth' => \Example\OAuth2Server\Middleware\OAuthMiddleware::class,
'oauth-owner' => \Example\OAuth2Server\Middleware\OAuthOwnerMiddleware::class,
'my-middlware' => \App\Http\Middleware\MyGlobalMiddleware::class, //input Middlware Anda di sini
];

Kemudian, lanjutkan proses dengan menambahkan key middleware agar sistem Laravel bisa membedakan Routes mana saja yang memakai Middleware dan mana yang tidak. Key middleware ini ditambahkan pada file app/Http/routes.php khususnya di route options. Contoh code:

Route::get('admin', [
'uses' => 'AdminController@index',
'middleware' => 'my-middleware'
]);

Bonus: Before & After Middleware Laravel

Terakhir, kita akan melihat dua kelompok besar Middleware Laravel, yakni Before Middleware dan After Middleware. Apa itu dan apa saja perbedaan masing-masing?

Before dan after Middleware adalah kedua fungsi yang selalu berdampingan. Before Middleware adalah proses request sebelum masuk ke Controller, sementara after Middleware adalah proses request pasca masuk Controller. Anda bisa membuat definisi kedua tipe Middleware. Contoh coding before Middleware adalah:

Artikel Terkait  Jasa Pembuatan Website Termurah Dan Berkualitas

<?php
namespace App\Http\Middleware;
use Closure;
class BeforeMiddleware
{
public function handle($request, Closure $next)
{
//input tindakan untuk setiap request yang diterima sebelum ke Controller
return $next($request)
}
}

Sementara after Middleware memproses response (hasil) dari Controller yang diperoleh setelah proses before Middleware. Response tersebut akan diproses lagi untuk mendapatkan hasil baru yang dikirim ke web browser dan mengalami proses render. Contoh coding after Middleware adalah:

<?php
namespace App\Http\Middleware;
use Closure;
class AfterMiddleware
{
public function handle($request, Closure $next)
{
$response = $next($request);
//input tindakan terhadap response yang sudah diperoleh
return $response
}
}

Demikianlah artikel seri belajar Laravel pemula tentang Middleware. Menarik sekali artikel edisi kali ini, bukan? Semoga artikel seri belajar Laravel pemula kali ini bisa menambah wawasan dan pengetahuan Anda seputar Laravel, ya! Selamat mencoba berpraktek menjalankan Laravel.

Jangan lupa untuk menemukan lebih banyak artikel seri belajar Laravel pemula lainnya beserta artikel tentang IT lainnya hanya dari Appkey.id. Sayonara!


Jasa Pembuatan Aplikasi, Website dan Internet Marketing | PT APPKEY
PT APPKEY adalah perusahaan IT yang khusus membuat aplikasi Android, iOS dan mengembangkan sistem website. Kami juga memiliki pengetahuan dan wawasan dalam menjalankan pemasaran online sehingga diharapkan dapat membantu menyelesaikan permasalahan Anda.

Jasa Pembuatan Aplikasi

Jasa Pembuatan Website

Jasa Pembuatan Paket Aplikasi

Jasa Pembuatan Internet Marketing

Subscribe Sekarang

Dapatkan beragam informasi menarik tentang Website, Aplikasi, Desain, Video dan API langsung melalui email Anda. Subscribe sekarang dan terus belajar bersama kami!

Kategori

Blog Post Ranking 10

Rekomendasi 10 Aplikasi Pembuat Animasi 3D Terbaik. Ayo Cek!

Apakah Anda bercita-cita untuk menjadi seorang animator profesional? Belajar membuat animasi kini sudah menjadi hal mudah yang bisa dilakukan...

Cara Mudah Menambahkan Lokasi Alamat Bisnis Anda di Google Maps

Saat ingin hunting tempat makan atau tempat nongkrong terbaru, tak jarang beberapa dari Anda biasanya mendapatkan informasi terkini melalui...

Encoding Adalah : Proses Komunikasi Encoding dan Decoding

Jika kita dapat melihat percakapan antar komputer, mungkin akan terlihat seperti ini: "010110111011101011010010110". Bahasa ini disebut dengan biner, encoding...

Metadata Adalah? Fungsi dan Jenis-Jenis Metadata

Pernah mendengar istilah metadata? Mungkin, kita sering mendengar istilah metadata. Tetapi, banyak dari kita yang belum tahu arti dari metadata...

Cara Membuat Aplikasi di Playstore dengan Mudah

Membuat aplikasi di Playstore bisa Anda lakukan dengan mudah. Terdapat beberapa situs yang bisa membantu Anda untuk membuat aplikasi...

Pengertian Internet & Dampak Positif dan Negatif Internet

Internet mungkin bukan sesuatu yang asing lagi, sebab semua kalangan pasti tahu apa itu internet. Hanya saja jika ditanya...

10 Aplikasi Coding Android Terbaik

Ketersediaan aplikasi coding Android memang banyak dicari oleh orang-orang yang sedang atau akan memulai untuk membuat aplikasi android. Jika...

Domain Google? Apa Bedanya Dengan Domain Biasa?

Saat memutuskan untuk membuat website menjadi salah satu bentuk media digital marketing Anda dalam bersaing di zaman digital ini,...

7 Aplikasi Membuat Aplikasi Android Secara Offline

Aplikasi membuat aplikasi android saat ini banyak dicari penekun IT untuk membuat aplikasi Android secara offline tanpa harus menggunakan...

Looping Adalah Algoritma Perulangan: Berikut Contohnya

Jika anda sudah mendalami atau sedang mendalami dunia pemrograman terdapat sebuah konsep yang dapat memudahkan anda dalam menyusun struktur...

Bisnis

Online Service

Peluang Bisnis

Model Bisnis

Entrepreneurship

Uang

Ketrampilan

Outsourcing

Monetize

Pemasaran

SEO

Internet Marketing

Dasar Pemasaran

Strategi Pemasaran

Situs Web Analitik

Iklan

Teknologi

Teknologi Terbaru

AI

Komputer

Jaringan

Paling Sering dibaca
Mungkin Anda Menyukainya