Pada tutorial ini, saya akan membahas bagaimana cara membuat aplikasi CRUD (Create Read Update Delete) database secara otomatis dengan menggunakan tools Yii2 yaitu Gii. Dimana kita bisa membuat aplikasi CRUD melalui tampilan GUI / Web-based, dan Gii akan meng auto-generate Model, Controller, Active Record dan Action untuk operasi CRUD beserta view yang sudah jadi. Yang nantinya kita hanya perlu mengubah-ubah sesuai dengan keinginan kita tanpa harus koding dari awal.
Dalam tutorial ini, anda akan mempelajari tentang:
- Bagaimana mengaktifkan Gii di aplikasi Yii2 anda.
- Bagaimana menggunakan Gii untuk meng-generate class Active Record.
- Bagaimana menggunakan Gii untuk meng-generat kode untuk operasi CRUD pada Database.
- Bagaimana meng kustomisasi kode yang digenerasi oleh Gii.
Gii di Yii 2
Gii disediakan Yii sebagai module. Anda dapat mengaktifkan gii dengan mengkonfigurasinya di property module pada aplikasi. Tergantung bagaimana anda membuat aplikasi anda. Mungkin anda akan menemukan kode berikut sudah disediakan di file konfigurasiconfig/web.php :
$config = [ ... ]; if (YII_ENV_DEV) { $config['bootstrap'][] = 'gii'; $config['modules']['gii'] = [ 'class' => 'yii\gii\Module', ]; }/code>
Konfigurasi diatas menyatakan bahwa saat mode development, aplikasi meng-include module bernama gii, yang merupakan class yii\gii\Module.
Jika anda mengecek entry script web/index.php dari aplikasi anda, anda akan menemukan baris berikut:
defined('YII_ENV') or define('YII_ENV', 'dev');
Yang artinya aplikasi anda sedang dalam mode development. Karena konstanta YII_ENV_DEV bernilai true.
Sekarang buka browser anda dan akses alamat:
http://localhost/index.php?r=gii
Membuat class Active Record dengan Gii
Untuk menggunakan Gii untuk meng-generasi class Active Record, pilih menu "Model Generator". Lalu isi form dengan nilai berikut:- Table Name : anggota
- Model Class : Anggota
Selanjutnya, kl ik tombol "preview". anda akan melihat models/Anggota.php terdaftar di list file class yang akan dibuat/digenerasi. Anda bisa klik nama class untuk menampilkan isinya (kode yang akan di generate).
Saat menggunakan Gii, jika anda sudah membuat file dengan nama yang sama dan akan me-replace nya, anda bisa klik tombol diff disamping nama file untuk melihat perbandingan kode antara file yang sudah ada dengan yang akan dibuat.
Saat overwrite file yang sudah ada, beri centang pada checkbox disamping tulisan overwrite lalu klik tombol
Generate.
Selanjutnya akan muncul halaman konfirmasi yang menandakan bahwa kode sukses dibuat. Jika ada file yang di overwirte, anda juga akan melihat pesan yang menandakan file di overwrite.
Membuat CRUD dengan Gii
CRUD adalah singkatan dari Create, Read, Update, dan Delete. Merupakan 4 tugas umum untuk operasi data pada website. Untuk membuat CRUD menggunakan Gii, pilih menu "CRUD Generator". Untuk contoh "anggota" yang sudah kita buat, isikan nilai berikut:Model Class : app\models\Anggota
Search Model Class: app\models\AnggotaSearch
Controller Class: app\controllers\BemController
lalu klik tombol "Preview". Seperti pada Module Generator, anda akan melihat daftar file yang akan dibuat. Untuk CRUD, file yang akan dibuat terdiri dari banyak file yang terdiri dari file controller, model, dan view. Dimana untuk view sendiri terdiri dari banyak file yang masing-masing mewakili halaman index, create, update dan lain lain.
Jangan lupa beri tanda centang disamping "overwrite" untuk meng-overwrite file yang sudah ada.
Uji Coba Hasil CRUD yang di auto-generate Gii
Untuk melihat hasilnya, silahkan buka URL:http://localhost/index.php?r=bem/indexAnda akan melihat tabel data anggota dari database. Dan tidak hanya itu, anda juga akan disuguhi dengan fitur filter pada header tabel, navigasi pagination, breadcrumb, dan tombol untuk membuat anggota baru.
Anda juga bisa mencoba untuk menambahkan data anggota dengan klik tombol "Create Anggotas", dan anda akan dialihkan ke sebuah form yang terdapat beberapa kolom input yang sesuai untuk data anggota. Kolom input tersebut sudah dibuat secara otomatis oleh Gii berdasarkan field tabel pada database dan tipe datanya. Sungguh sangat praktis bukan?
Berikut adalah daftar file yang di auto-generate oleh Gii:
- Controller: controllers/BemController.php
- Model: models/Anggota.php dan models/AnggotaSearch.php
- View: views/bem/*.php
Catatan : Tool Gii ini bertujuan untuk memudahkan dan mempercepat proses development aplikasi anda. Hasil dari auto-generate dirancang untuk dapat di kustom semudah mungkin.Sumber https://www.batalngoding.com/