Dependency Injection Container pada Slim Framework 3

Sebelumnya saya sudah membahas tentang installasi Slim Framework 3 (untuk selanjutnya hanya akan disebut dengan Slim) dan juga mudahnya routing pada Slim. Sebetulnya saya akan membahas tentang Midlleware, tapi karena ada yang lebih penting dari Middleware, jadi saya tunda sementara.

Kali ini saya menuliskan tenang Dependency Injection Container (DIC) pada Slim. Jika Anda pertama kali mendengar DIC, Anda sangat disarankan untuk mengerti konsep DIC terlebih dahulu. Artikel yang saya ajurkan adalah dari PHP: The Right Way .

Dependency injection is a software design pattern that allows the removal of hard-coded dependencies and makes it possible to change them, whether at run-time or compile-time. – Wikipedia

Slim mendukung container yang implementasi Container-Interop interface. Anda bisa menggunakan container bawaan Slim yaitu Pimple atau container yang lain seperti PHP-DI. Namun kali ini kita hanya menggunakan Pimple.

Contohnya adalah penerapan monolog pada Slim. Langkahnya adalah sebagai berikut:

  1. Install monolog
  2. Buat container
  3. Penerapan container

Untuk code lengkapnya seperti di bawah ini:

DIC pada MVC Slim

Contoh yang sedikit lebih rumit adalah menggunakan DIC untuk MVC pattern. Langkahnya adalah seperti di bawah ini:

  1. Buat folder app/src/Controller
  2. Tambahkan autoload di composer.json
  3. Kemudian ketik di terminal/cmd, composer dumpautoload
  4. Buat file HomeController.php pada app/src/Controller isinya adalah sebagai berikut:
  5. Tambahkan DIC
  6. Lalu akses melalui browser. Hasilnya adalah “Ini homepage.”

Untuk lebih mudahnya, saya menyarakan untuk menggunakan Slim 3 Skeleton dari Akrabat (Rob Allen).

Lebih lanjut:
http://www.phptherightway.com/#basic_concept
https://github.com/akrabat/slim3-skeleton
http://www.slimframework.com/docs/concepts/di.html

Leave a Reply