Install Web App

Yii

Belajar Framework Yii #12 | Controller Yii: Menggunakan Filter

profil-penulis

Edo Kurniawan

12 Juni 2023

Filter dalam Yii Framework adalah komponen yang memungkinkan Anda untuk menambahkan logika sebelum dan sesudah eksekusi aksi (action) dalam controller. Mereka berguna untuk melakukan tugas seperti otentikasi, otorisasi, penggunaan cache, dan banyak lagi. Dalam artikel ini, kita akan membahas cara menggunakan filter dalam controller Yii.

Mengapa Menggunakan Filter?

Filter digunakan untuk:

  1. Otentikasi: Memeriksa apakah pengguna memiliki hak akses ke aksi tertentu. Misalnya, filter dapat digunakan untuk memeriksa apakah pengguna sudah login sebelum mengakses halaman tertentu.

  2. Otorisasi: Memeriksa apakah pengguna memiliki izin untuk melakukan aksi tertentu. Misalnya, filter dapat digunakan untuk memeriksa apakah pengguna memiliki izin untuk mengedit data.

  3. Caching: Melakukan caching hasil aksi agar aksi tersebut tidak perlu dieksekusi setiap kali. Ini meningkatkan kinerja aplikasi.

  4. Logging: Mencatat aktivitas dalam aplikasi untuk pemantauan atau pemecahan masalah.

  5. Manipulasi Data: Mengubah data sebelum atau setelah aksi dieksekusi. Misalnya, mengkonversi data ke format yang berbeda.

Jenis Filter dalam Yii

Yii Framework menyediakan beberapa jenis filter bawaan, seperti:

  1. AccessControl: Filter ini digunakan untuk mengatur otorisasi berdasarkan peraturan akses yang telah didefinisikan.

  2. VerbFilter: Filter ini memungkinkan Anda untuk mengatur jenis metode HTTP yang diperbolehkan untuk aksi tertentu.

  3. PageCache: Filter ini digunakan untuk meng-cache tampilan halaman web.

  4. HttpCache: Filter ini digunakan untuk meng-cache tanggapan HTTP.

  5. AjaxFilter: Filter ini memungkinkan Anda untuk mengatur aksi yang hanya dapat diakses melalui permintaan AJAX.

Cara Menggunakan Filter dalam Controller

Untuk menggunakan filter dalam controller Yii, Anda perlu:

  1. Mendefinisikan filter dalam metode behaviors() dalam controller.
  2. Menerapkan filter pada aksi yang sesuai.

Berikut adalah contoh cara menggunakan filter dalam controller Yii:

namespace app\controllers;

use yii\web\Controller;
use yii\filters\AccessControl;

class PostController extends Controller
{
    public function behaviors()
    {
        return [
            'access' => [
                'class' => AccessControl::class,
                'only' => ['create', 'update', 'delete'],
                'rules' => [
                    [
                        'allow' => true,
                        'actions' => ['create'],
                        'roles' => ['@'], // Hanya pengguna yang sudah login yang dapat mengakses
                    ],
                    [
                        'allow' => true,
                        'actions' => ['update', 'delete'],
                        'roles' => ['admin'], // Hanya admin yang dapat mengakses
                    ],
                ],
            ],
        ];
    }

    public function actionCreate()
    {
        // Aksi untuk membuat postingan
    }

    public function actionUpdate()
    {
        // Aksi untuk mengupdate postingan
    }

    public function actionDelete()
    {
        // Aksi untuk menghapus postingan
    }
}

Pada contoh di atas, kita menggunakan filter AccessControl untuk mengatur otorisasi pada aksi create, update, dan delete. Filter ini mengizinkan pengguna yang sudah login (dengan role @) untuk mengakses aksi create, sementara hanya admin (dengan role admin) yang dapat mengakses aksi update dan delete.

Kesimpulan

Filter adalah alat yang kuat dalam Yii Framework untuk mengatur otorisasi, otentikasi, caching, dan lebih banyak lagi dalam aplikasi Anda. Dengan menggunakan filter, Anda dapat memisahkan logika ini dari kode aksi Anda, meningkatkan keamanan, dan meningkatkan kinerja aplikasi Anda. Dalam artikel ini, Anda telah mempelajari cara mendefinisikan dan menerapkan filter dalam controller Yii.

Artikel Lainnya Dengan Kategori Terkait :


1. Belajar Framework Yii #01 | Pengertian Framework Yii dan Kelebihannya

2. Belajar Framework Yii #02 | Alur Kerja Umum Yii dan MVC

3. Belajar Framework Yii #03 | Instalasi Yii Framework

4. Belajar Framework Yii #04 | Pemahaman tentang Model-View-Controller (MVC) pada Framework Yii

5. Belajar Framework Yii #05 | Model Yii : Membuat Model

6. Belajar Framework Yii #06 | Model Yii : Validasi Data

7. Belajar Framework Yii #07 | Model Yii : Menghubungkan Database

8. Belajar Framework Yii #08 | View Yii : Membuat Tampilan Yii

9. Belajar Framework Yii #09 | View Yii: Widget Bawaan Yii

10. Belajar Framework Yii #10 | View Yii: Membuat Tampilan Dinamis

11. Belajar Framework Yii #11 | Controller Yii: Membuat Action dalam Controller

12. Belajar Framework Yii #12 | Controller Yii: Menggunakan Filter

13. Belajar Framework Yii #13 | Controller Yii: Memahami Request

14. Belajar Framework Yii #14 | Routing Yii : Memahami Konfigurasi

15. Belajar Framework Yii #15 | Routing Yii : Membuat rute khusus

16. Belajar Framework Yii #16 | Routing Yii : Memahami Konsep pretty's URL

17. Belajar Framework Yii #18 | Menggunakan ActiveRecord untuk manipulasi data

18. Belajar Framework Yii #19 | Membuat kueri kompleks dengan Active Record

19. Belajar Framework Yii #20 | Membuat dan Mengelola Formulir dengan Yii

20. Belajar Framework Yii #21 | Menggunakan validasi pada formulir Yii

21. Belajar Framework Yii #22 | Menangani input dan output form dengan Yii

22. Belajar Framework Yii #23 | Security : Pengelolaan autentikasi dan otorisasi dengan Yii

23. Belajar Framework Yii #24 | Security : Implementasi Fitur Keamanan Yii

24. Belajar Framework Yii #25 | Memahami penggunaan tema (themes) dalam Yii

25. Belajar Framework Yii #26 | Menggunakan ekstensi Yii dan membangun ekstensi kustom

26. Belajar Framework Yii #27 | Membuat API menggunakan Yii

27. Belajar Framework Yii #28 | Melakukan pengujian unit dengan PHPUnit

28. Belajar Framework Yii #29 | Menggunakan alat bantu debugging dalam Yii

29. Belajar Framework Yii #30 | Menangani error dan log dalam Yii

30. Belajar Framework Yii #31 | Memahami caching dalam Yii untuk meningkatkan performa

31. Belajar Framework Yii #32 | Menyesuaikan konfigurasi aplikasi Yii untuk kebutuhan khusus

32. Belajar Framework Yii #33 | Menerapkan praktik pengembangan yang efisien dalam Yii

33. Belajar Framework Yii #34 | Mengoptimalkan query database dengan Active Record di Yii

34. Belajar Framework Yii #35 | Mempercepat waktu muat halaman dengan menggunakan asset caching di Yii

35. Belajar Framework Yii #36 | Menyesuaikan URL routing untuk meningkatkan SEO pada Yii

36. Belajar Framework Yii #37 | Mengoptimalkan penggunaan memori dalam aplikasi Yii

37. Belajar Framework Yii #38 | Meningkatkan performa dengan penggunaan Gii dalam pembangunan kode di Yii

38. Belajar Framework Yii #39 | Menggunakan teknik lazy loading untuk meningkatkan kecepatan aplikasi Yii

39. Belajar Framework Yii #40 | Menerapkan teknik penggunaan indeks dan optimasi tabel database pada Yii.

40. Mempelajari Framework Yii #17 Menghubungkan Yii dengan database

Masuk Terlebih dahulu untuk berkomentar

Paling baru
Lihat Lainnya