0 follower

Membuat Kode menggunakan Gii

Bagian ini akan menjelaskan bagaimana cara menggunakan Gii untuk membuat kode secara otomatis yang mengimplementasikan fitur-fitur yang bersifat umum dalam sebuah web site. Menggunakan Gii untuk membuat kode sesederhana menginput informasi yang sesuai per satu instruksi seperti yang diterangkan pada halaman web Gii.

Sepanjang bagian ini, anda akan mempelajari bagaimana cara untuk:

  • Mengaktifkan Gii pada aplikasi anda,
  • Menggunakan Gii untuk membuat class ActiveRecord
  • Menggunakan Gii untuk membuat kode yang mengoperasikan CRUD untuk database,
  • Memodifikasi kode yang sudah dibuat oleh Gii.

Memulai Gii

Gii telah disediakan oleh Yii sebagai module. Anda dapat mengaktifkan Gii dengan mengatur konfigurasi Gii pada properti modules dari objek aplikasi. Tergantung bagaimana anda mengatur aplikasi anda, kode di bawah ini sudah disediakan pada file konfigurasi config/web.php:

$config = [ ... ];

if (YII_ENV_DEV) {
    $config['bootstrap'][] = 'gii';
    $config['modules']['gii'] = [
        'class' => 'yii\gii\Module',
    ];
}

Konfigurasi di atas menyatakan bahwa, ketika mode development environment aktif, maka aplikasi harus mengikutkan module yang bernama gii, dimana objek tersebut merupakan class yii\gii\Module.

Jika anda melihat entry script web/index.php pada aplikasi anda, anda akan menemukan baris dibawah ini, yang menyatakan secara explisit bahwa YII_ENV_DEV sama dengan true.

defined('YII_ENV') or define('YII_ENV', 'dev');

Karna baris tersebut, aplikasi anda harusnya sudah berada pada mode development, dan secara otomatis mengaktifkan Gii karena konfigurasi sebelumnya. Anda dapat mengakses Gii melalui URL di bawah ini:

http://hostname/index.php?r=gii

Catatan: Jika anda mengakses Gii melalui komputer diluar komputer localhost anda, secara default akses tidak akan diperbolehkan karna alasan keamanan. Anda dapat mengatur Gii untuk menambah alamat IP yang di perbolehkan seperti ini,

'gii' => [
    'class' => 'yii\gii\Module',
    'allowedIPs' => ['127.0.0.1', '::1', '192.168.0.*', '192.168.178.20'] // adjust this to your needs
],

Gii

Membuat class Active Record

Untuk menggunakan Gii dalam membuat class Active Record, pilih "Model Generator" (dengan cara mengklik link pada halaman index Gii). Kemudian isi form dengan data berikut:

  • Table Name: country
  • Model Class: Country

Pembuat Model

Selanjutnya, klik pada tombol "Preview". Anda akan melihat models/Country.php pada daftar class yang akan dibuat. Anda bisa mengklik nama dari class tersebut untuk melihat isi kodenya.

Pada saat menggunakan Gii, jika anda sudah membuat file dengan nama yang sama sebelumnya dan akan menimpanya, klik tombol diff disebelah nama file untuk melihat perbedaan antara kode yang akan dibuat dengan kode yang ada saat ini.

Preview Pembuat Model

Jika akan menimpa file yang sudah ada, centang kotak di sebelah tulisan "overwrite" dan kemudian klik tombol "Generate". Jika anda membuat file baru, anda cukup mengklik tombol "Generate".

Selanjutnya, anda akan melihat halaman konfirmasi yang memberitahui bahwa kode berhasil dibuat. Jika sebelumnya anda sudah mempunyai file yang sama, anda juga akan melihat pesan yang memberitahukan bahwa file tersebut sudah ditimpa dengan file yang baru.

Membuat CRUD

CRUD adalah Create, Read, Update, dan Delete, yang merepresentasikan empat tugas umum yang melibatkan website secara umum. Untuk membuat CRUD menggunakan Gii, pilih tombol "CRUD Generator" (dengan cara mengklik pada halaman index Gii). Untuk contoh "negara", isi form yang ditampilkan dengan data berikut:

  • Model Class: app\models\Country
  • Search Model Class: app\models\CountrySearch
  • Controller Class: app\controllers\CountryController

Pembuat CRUD

Selanjutnya, klik tombol "Preview". Anda akan melihat daftar file-file yang akan dibuat, seperti gambar dibawah ini.

Preview Pembuat CRUD

Jika anda sebelumnya sudah membuat file controllers/CountryController.php dan views/country/index.php (pada bagian bekerja dengan database), centang kotak "overwrite" untuk menimpa file tersebut. (File pada bagian bekerja dengan database tidak memiliki dukungan CRUD secara penuh.)

Mari kita coba

Untuk melihat bagaimana proses kerjanya, gunakan browser anda untuk mengakses URL dibawah ini:

http://hostname/index.php?r=country%2Findex

Anda akan melihat tabel data yang menampilkan negara dari tabel pada database. Anda dapat mengurutkan tabel, atau memfilter dengan menginput pencarian filter pada baris judul kolom.

Disetiap negara yang tampil pada tabel, anda dapat memilih apakah akan melihat (view) detail, memperbaharui (update), atau menghapus (delete) data tersebut, anda juga dapat mengklik tombol "Create Country" yang berada di atas tabel tersebut untuk menampilkan form untuk membuat data negara yang baru.

Tabel data negara

Memperbaharui data negara

Dibawah ini adalah daftar file yang dihasilkan oleh Gii, mungkin saja anda ingin melakukan observasi bagaimana fitur-fitur ini di implementasikan, atau melakukan modifikasi terhadap file-file yang dihasilkan:

  • Controller: controllers/CountryController.php
  • Model: models/Country.php dan models/CountrySearch.php
  • View: views/country/*.php

Info: Gii di desain agar mudah di modifikasi, dan dikembangkan. Menggunakan Gii dapat membuat pengembangan aplikasi anda menjadi lebih cepat. Untuk informasi lebih lanjut, silahkan melihat bagian Gii.

Penutup

Pada bagian ini, anda telah mengetahui bagaimana cara menggunakan Gii untuk membuat kode yang mengimplementasikan fungsi CRUD secara lengkap dalam mengelola data yang tersimpan pada database.

Found a typo or you think this page needs improvement?
Edit it on github !