Membuat Struktur MVC Pada Slim Framework Part 5

Pada bagian sebelumnya kita sudah belajar cara membuat controller. Tapi apakah class controller ini sudah bisa langsung akses component twignya? Perlu kita buktikan kalo saya menuliskan return $this->view render

Membuat-Struktur-MVC-Pada-Slim-Framework-Part5-EKI-16042020-01

Maka saya pastikan kalo ini akan error dimana fungsi rendernya tidak dikenal bahkan context thisnya juga belum jelas dari mana

Membuat-Struktur-MVC-Pada-Slim-Framework-Part5-EKI-16042020-02

Karena kalo kita ingat component twig kita daftarkan di container sementara controller kita ini belum mengenal isi dari containernya berarti kita perlu cari cara supaya controller kita bisa langsung berinteraksi dengan containernya. Nah kalo kita cari didocumentasi dari slim maka teman teman akan menemukan caranya dibagian router.

https://www.slimframework.com/docs/v3/objects/router.html

Tentu ada dua cara yang disarankan oleh slim. Yang pertama buat controllernya menjadi sebuah container tentu hal ini sangat tidak rapi karena setiap controller kita daftarkan satu persatu seperti ini

Membuat-Struktur-MVC-Pada-Slim-Framework-Part5-EKI-16042020-03

Solusi yang kedua kita gunakan ContainerInterface dengan melakukan inject ke function construct supaya lebih mudah. Sekarang kita akan buat satu variabel protected namanya $ci

Membuat-Struktur-MVC-Pada-Slim-Framework-Part5-EKI-16042020-04

Terus ContainerInterface akan saya letakkan sebagai parameter function construct. Function construct merupakan method yang otomatis dijalankan

Membuat-Struktur-MVC-Pada-Slim-Framework-Part5-EKI-16042020-05

Pastikan kita import dulu dengan keyword use namespace berada di Psr\Container\ContainerInterface

Membuat-Struktur-MVC-Pada-Slim-Framework-Part5-EKI-16042020-06

Yang jelas di metode construct ini kita mau mengoper ulang object Interface dari containernya ke variabel protectednya yaitu $ci supaya kita bisa akses penuh ke semua fungsi yang butuh container

Membuat-Struktur-MVC-Pada-Slim-Framework-Part5-EKI-16042020-07

Kalo sudah harusnya kita bisa langsung akses sistem twignya tapi melalui $ci nya. Penulisannya sebagai berikut

Membuat-Struktur-MVC-Pada-Slim-Framework-Part5-EKI-16042020-08

dan secara otomatis setiap function yang akan dijalankan akan memiliki parameter $request dan $response

Membuat-Struktur-MVC-Pada-Slim-Framework-Part5-EKI-16042020-09

Kalian bisa langsung test dan jalankan dibrowser maka kita bisa melihat halaman atau template dari home twignya dan sudah berhasil kita load dari controller indexnya

Membuat-Struktur-MVC-Pada-Slim-Framework-Part5-EKI-16042020-010

Jadi itu salah satu caranya, cara yang sangat sederhana karena kita mau menggunakan fungsi render dari containernya viewnya dimana kita tidak bisa langsung mengakses begitu saja kita perlu akses melalui ContainerInterface dan di oper ulang ke variabel global untuk bisa di gunakan di semua functionnya. Terima kasih

16 April 2020

Webinar Gratis 2024


Selanjutnya Pada Bulan Maret 2024

Sabtu, 09 Maret 2024


10 Bahasa Rekomendasi Untuk Dipelajari di 2024

Python Developer, Data Science, Web Application

Kursus Python Django Web Application 2024 di DUMET School Mini Bootcamp Backend Laravel 11 Bulan Mei 2024 di DUMET School
Webinar Selanjutnya Mei 2024

Minggu, 26 Mei 2024, 09.00-13.00 WIB

(4 Jam Membuat Backend di Laravel 11)

chat