Artikel #22

Tutorial CRUD Yii2 Basic

Halo temen-temen semuanya selamat datang di IDKoding

 

kali ini kita akan belajar programming menggunakan YIi2, sebelum lanjut tutorial CRUD Yii2 basic nya mari kita bahas sekilas tentang yii2 terlebih dahulu, cekidot ????

 

Sekilas Tentang Yii2

 

Yii merupakan framework (kerangka kerja) PHP berbasis-komponen, berkinerja tinggi dalam pengembangan aplikasi Web berskala-besar. Yii menyediakan reusability maksimum dalam pemrograman Web dan mampu meningkatkan kecepatan pengembangan secara signifikan.

 

Nama Yii merupakan singkatan dari "Yes It Is!".

 

Perbandingan Yii Framework dengan Framework Lain?

 

sama dengan PHP framework lain, Yii Framework mengusung konsep MVC.

 

Yii melampaui framework PHP lain dalam hal :

  • Efisiensi,

  • Kekayaan-fitur,

  • dan kejelasan dokumentasi.

Yii didesain dengan hati-hati sejak awal pembuatan agar sesuai dalam pengembangan aplikasi Web secara serius. Yii merupakan hasil dari pengalaman kaya para pembuat pada pengembangan aplikasi Web dan investigasi framework pemrograman Web.

 

Gii (Code Generator dari Yii2)

 

nah, temen-temen udah pada penasaran kan apa itu Gii ?

 

Gii Merupakan Ekstensi dari Yii2 atau bisa dibilang sebagai generator kode berbasis web dari Yii2, kita dapat menggunakan Gii dengan cepat dalam menghasilkan model, module, controller, CRUD, dll.

 

*source (https://www.yiiframework.com/doc/guide/2.0/id/start-gii)

 

Yuk, Mari kita mulai tutorialnya ????

 

pertama, Kita dapat melakukan instalasi project Yii2 kedalam directory project yang akan gunakan, berikut perintahnya  :

composer create-project --prefer-dist --stability=dev yiisoft/yii2-app-basic basic

Markup

Copy

maka akan tampil proses penginstalan Yii2 Sebagai berikut:

 

tunggu sampai proses install selesai

selanjutnya Buat database dengan nama db_crudyii2

 

Kemudian Jalankan Query SQL berikut

 

-- 
-- Database: `db_crudyii2` 
-- 
-- -------------------------------------------------------- 
-- 
-- Table structure for table `buku` 
-- 
CREATE TABLE `buku` ( 
  `id` int(11) NOT NULL, 
  `nama` varchar(255) DEFAULT NULL, 
  `deskripsi` varchar(255) DEFAULT NULL 
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC; 
ALTER TABLE `buku` 
  ADD PRIMARY KEY (`id`) USING BTREE; 
ALTER TABLE `buku` 
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;

Markup

Copy

selanjutnya kita masuk ke folder Project Yii yang telah dibuat tadi dengan nama basic, masuk ke folder config/db.php , detail dapat di lihat pada gambar dibawah ini:

 

dari

 'yii\db\Connection', 
    'dsn' => 'mysql:host=localhost;dbname=yii2basic', 
    'username' => 'root', 
    'password' => '', 
    'charset' => 'utf8', 
    // Schema cache options (for production environment) 
    //'enableSchemaCache' => true, 
    //'schemaCacheDuration' => 60, 
    //'schemaCache' => 'cache', 
];

PHP

Copy

dan ubah menjadi

 'yii\db\Connection',
    'dsn' => 'mysql:host=localhost;dbname=db_crudyii2',
    'username' => 'root',
    'password' => '',
    'charset' => 'utf8',
    // Schema cache options (for production environment)
    //'enableSchemaCache' => true,
    //'schemaCacheDuration' => 60,
    //'schemaCache' => 'cache',
];

PHP

Copy

Kemudian masih dalam folder yang sama, dalam folder config buka file web.php , scroll ke bawah dan uncommand UrlManager untuk kita aktifkan Pretty URL :

 

caranya dari:

    /*
    'urlManager' => [
        'enablePrettyUrl' => true,
        'showScriptName' => false,
        'rules' => [
        ],
    ],
    */

Markup

Copy

ubah menjadi

    'urlManager' => [
        'enablePrettyUrl' => true,
        'showScriptName' => false,
        'rules' => [
        ],
    ],

Markup

Copy

 

selanjutnya masuk ke directory folder project Basic dan jalankan perintah berikut di terminal/CMD :

php yii serve

Markup

Copy

kemudian mari kita ketik localhost:8080 di google chrome , maka akan tampil seperti dibawah ini:

 

 

gambar diatas artinya kita sudah dapat menjalankan project yii2 Basic kita,

selanjutkan ketikkan URL berikut untuk melakukan CRUD Generator dengan yii2

http://localhost:8080/gii , maka akan tampil sebagai berikut:

 

selanjutnya klik next  pada Model Generator, maka akan muncul sebagai berikut:

 

Pilih tabel buku pada Kolom Table Name diatas , dan klik pada kolom Model Class Name maka akan muncul Buku secara otomatis

Selanjutnya scroll ke paling bawah Klik Preview , maka akan tampil sebagai berikut:

 

dan klik Generate, maka akan muncul tulisan done.

yang artinya kita sudah berhasil membuat model dengan nama Buku

 

Kemudian kita kembali lagi buka URL gii Localhost:8080/gii

 

selanjutnya klik next  pada CRUD Generator, maka akan muncul sebagai berikut:

 

selanjutnya isi sesuai kolom sesuai garis merah diatas

app\models\Buku : maksudnya membuat model dengan nama Buku

app\models\BukuSearch : maksudnya membuat model Search untuk digunakan search data  dengan nama BukuSearch

app\models\BukuController : maksudnya membuat Controller untuk digunakan Create, Read, Update, Delete

 

kemudian Klik Preview -> dan Done maka akan tampil seperti gambar dibawah ini:

 

yang artinya kita sudah berhasil generate model untuk search dengan nama BukuSearch, Controller dengan nama BukuController , dan file views untuk tampilan CRUD pada folder buku.

lalu kita akan ketik URL localhost:8080/buku di chrome, dan selamat kita sudah berhasil membuat CRUD Yii2 dengan gii, seperti pada gambar dibawah ini :

 

1. Test Create

 

2. Test Read

 

 

3. Test Update

 

setelah klik save maka akan terupdate menjadi:

 

4. Test Delete

 

setelah klik OK maka data akan terhapus menjadi seperti ini:

 

Kesimpulan

Pada Gambar diatas kita sudah berhasil melakukan CRUD Yii2 dengan Generator Gii serta berhasil melakukan operasi CRUD data buku,

sekian dan terimakasih.