WHAT'S NEW?


Yii 1 - Koneksi Yii ke Database (Yii - Database)


Agar aplikasi web yang dibangun dinamis, Yii menyediakan dukungan berkemampuan untuk pemrograman database. PHP Data Objects (PDO), Yii Data Access Objects (DAO) memungkinkan pengaksesan ke sistem manajemen database (DBMS). Active Record Yii, diimplementasikan sebagai pendekatan pemetaan relasi antar objek/Object-Relational Mapping (ORM) yang diadopsi secara luas, untuk mempermudah pemrograman dengan database. Tabel direpresentasikan dalam bentuk kelas dan baris (record) dalam bentuk instan,Yii AR mengeliminasi tugas berulang pada penulisan perintah SQL terutama yang berkaitan dengan operasi CRUD (create, read, update, dan delete). Setiap kelas AR mewakili tabel database (atau view) yang atributnya diwakili oleh properti kelas AR, dan turunan AR mewakili rekaman dalam tabel tersebut. Operasi umum CRUD diimplementasikan sebagai metode AR.

Sebelum masuk lebih dalam pada aplikasi, kita buat terlebih dahulu user dan database yang diperlukan untuk dapat diakses oleh aplikasi web Yii. Buat user pada mysql dengan menggunakan xampp.


Buat user dengan nama yang dan password yang diinginkan. Kemudian scroll ke bawah, klik Go.



      Setelah terbentuk user baru, buatlah database yang akan digunakan untuk aplikasi web yang akan dibangun, misal saya akan membuat,
database : myweb



      Setelah dibentuk user dan database yang baru, maka akan terlihat user baru pada list user. Untuk memberikan hak akses database yang baru dibuat, user harus diberikan grant agar dapat melakukan beberapa perintah dalam database tertentu. Klik Edit Privileges pada Users overview.


      Rubah kondisi database yang diakses menjadi database myweb.

       Berikan seluruh hak akses / yang diperlukan saja (sesuai kebutuhan) kepada user gia agar user dapat melakukan beberapa perintah ke dalam database myweb. Check All pada Database-specific privileges agar semua ter-centang.



       Setelah langkah diatas dilakukan, maka user serta database siap dipakai untuk keperluan aplikasi web. Langkah selanjutnya menghubungkan aplikasi yang dibuat untuk dikoneksikan ke database. Sebelumnya buat aplikasi web pertama YII dengan command seperti berikut :

C:\xampp\htdocs\yii\framework>yiic webapp c:\xampp\htdocs\belajar_yii\myweb
 
Jika ada pertanyaan,

Create a Web application under 'C:\xampp\htdocs\test'? (yes|no) [no]:
 
ketikan ‘yes’ atau ‘y’.
       Kemudian hubungkan aplikasi yang baru dibuat untuk dikoneksikan ke database myweb. Perintah koneksi ke database diletakan pada file config.php. Caranya buka dan ubah file /myweb/protected/main/config.php, kemudian cari bagian sintaks seperti pada kode berikut :
File config.php

  
<?php
   ...
        // hilangkan tanda petik-slash disini
        //atau gunakan / * sbg komentar yang tdk akan dibaca program
        /*
        'db'=>array(
            'connectionString' => 'sqlite:'.dirname(__FILE__).
            '/../data/testdrive.db',
        ),
        // uncomment the following to use a MySQL database
        /*
        'db'=>array(
            'connectionString' => 'mysql:host=localhost;
             dbname=testdrive',
            'emulatePrepare' => true,
            'username' => 'root',
            'password' => '',
            'charset' => 'utf8',
        ),
        */
        'errorHandler'=>array(
            // use 'site/error' action to display errors
            'errorAction'=>'site/error',
...
?>


      Pada sintaks di atas database yang pertama kali dipakai adalah database testdrive.db yang secara otomatis saat pembuatan aplikasi pertama terbentuk secara otomatis dengan generator yiic. Kemudian, hilangkan tanda petik atau buat database testdrive menjadi tidak terakses dengan cara menghapus tanda ‘*/’  dan taruh tanda ‘*/’ dibawah lokasi database testdrive.db agar sintaks tersebut tidak ikut diakses.
       Kemudian hilangkan tanda ‘*/’ untuk pengaksesan database pada lokasi database dengan merubah dbname menjadi database pada mysql yang kita buat sebelumnya. username dan password sesuai dengan user yang dapat mengakses database tersebut. Seperti contoh berikut :

 
<?php
   ...
        // hilangkan tanda petik-slash disini
        //atau gunakan / * sbg komentar yang tdk akan dibaca program
        /*
        'db'=>array(
            'connectionString' => 'sqlite:'.dirname(__FILE__).
            '/../data/testdrive.db',
        ),
        // uncomment the following to use a MySQL database
        */
        'db'=>array(
            'connectionString' => 'mysql:host=localhost;dbname=myweb',
            'emulatePrepare' => true,
            'username' => 'gia',
            'password' => '123',
            'charset' => 'utf8',
        ),
        'errorHandler'=>array(
            // use 'site/error' action to display errors
            'errorAction'=>'site/error',
...
?>


Penjelasan :
connectionString : nama elemen array untuk koneksi
mysql: jenis database yang digunakan adalah mysql
host=localhost: nama host yang digunakan untuk server database mysql
dbname=myweb: nama database yang akan digunakan
‘username’ => ‘gia: nama user pada mysql
‘password’ => ‘123: kata kunci dari user mysql

Maka aplikasi Yii sudah terhubung dengan database myweb yang kita telah buat. Selanjutnya adalah bagaimana membuat MVC dengan generator gii pada program myweb.

Sumber :
Badiyanto S.Kom, Buku Pintar framework Yii, 2013, Mediakom, Yogyakarta

0 komentar:

Posting Komentar