Middleware Pada Slim Framework 3

Beberapa pembahasan tentang Slim 3 telah dibahas di web ini.  Kali ini saya akan membahas tentang middleware.

Artikel ini menggunakan file dari project sebelumnya yaitu Dependency Injection Container pada Slim Framework 3. Pastikan Anda sudah membaca artikel tersebut sebelumnya.

Apa itu middleware?

Middleware is a callable that accepts three arguments: a Request object, a Response object, and the next middleware.

Middleware adalah variable/function yang mempunyai 3 argument. Request object, Response object dan middleware berikutnya.

Jadi ketika applikasi dijalankan Request Object dan Response Object akan melintasi middleware dari luar ke dalam. Setelah applikasi menentukan route, maka Request Object dan Response Object melewati middleware dari dalam ke luar.

Untuk lebih mudahnya, cobalah kode di bawah ini:

Hasilnya adalah seperti di bawah ini:
Before routeTest middlewareBefore route

Untuk penggunaan lebih dari 1 middleware:

Hasilnya adalah seperti di bawah ini:
Middleware 2Middleware 1Test middlewareMiddleware 1Middleware 2

middleware untuk semua route:

Hasilnya adalah seperti di bawah ini:
GLOBAL MIDDLEWARE Middleware 2Middleware 1Test middlewareMiddleware 1Middleware 2 GLOBAL MIDDLEWARE

Middleware dari class:

Kita juga bisa menambahkan middleware dari class sama seperti route. Langkah-langkahnya adalah seperti di bawah ini:

  1. Buat folder Middleware dalam folder app/src
  2. Buat file ExampleMiddleware.php codenya seperti di bawah ini:
  3. Tambahkan middleware pada app:

Hasilnya adalah seperti di bawah ini:
Middleware by App\Middleware\ExampleMiddleware Middleware on Route Test middleware Middleware on Route Middleware by App\Middleware\ExampleMiddleware

Leave a Reply