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
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.
<?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', ... ?>
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.
Badiyanto S.Kom, Buku Pintar framework Yii, 2013, Mediakom, Yogyakarta
0 komentar:
Posting Komentar