Saya baru coba-coba lagi framework PHP yang bernama Yii ini. Dokumentasi Yii memang tidak selengkap Codeigniter, tapi Yii punya Gii yang bisa generate Controller, Model, Form, CRUD, dan Module. Di Codeigniter, Module saja ga ada. Ternyata gampang men-generate Module di Gii, dan saya juga bisa buat CRUD di dalam Module tersebut. Caranya?
Sebelum melanjutkan setidaknya harus paham cara meng-install Yii di webserver. Itu bisa lihat di sini. Anggaplah webapp atau foldernya kita namai dengan “yiitest”, dan saya mau membuat module dengan nama ‘user_access’. Kemudian setelah installasi ikuti langkah-langkah berikut.
- Aktifkan Gii, dengan meng-uncomment module bagian “Gii” di
protected\config\main.php. Dan setting passwordnya seperti ini:'modules'=>array( // uncomment the following to enable the Gii tool /**/ 'gii'=>array( 'class'=>'system.gii.GiiModule', 'password'=>'password', // If removed, Gii defaults to localhost only. Edit carefully to taste. 'ipFilters'=>array('127.0.0.1','::1'), ), - Buka url berikut http://localhost/yiitest/index.php?r=gii, login dengan password yg diset tadi.
- Buka link “Module Generator”. Isikan Module ID dengan ‘user_access’. Tekan tombol Preview. Akan menghasilkan seperti berikut. Kemudian tekan tombol Generate.
modules\user_access\User_accessModule.php modules\user_access\components modules\user_access\controllers\DefaultController.php modules\user_access\messages modules\user_access\models modules\user_access\views\default\index.php modules\user_access\views\layouts
Buka folder ini protected\modules\user_access, module sudah di-generate.
- Tambahkan module ‘user_access’ yang telah dibuat tadi di config
protected\config\main.php'modules'=>array( // uncomment the following to enable the Gii tool /**/ 'gii'=>array( 'class'=>'system.gii.GiiModule', 'password'=>'qweasd', // If removed, Gii defaults to localhost only. Edit carefully to taste. 'ipFilters'=>array('127.0.0.1','::1'), ), 'user_access', //<--- ini jangan lupa, module harus didaftarkan di config - Buat Database MySQL sebagai berikut:
CREATE TABLE IF NOT EXISTS `tbl_user` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `username` varchar(20) NOT NULL, `password` varchar(128) NOT NULL, `created_when` datetime NOT NULL, `last_login` datetime NOT NULL, `status` int(1) NOT NULL DEFAULT '0', PRIMARY KEY (`id`), UNIQUE KEY `username` (`username`), KEY `status` (`status`), KEY `superuser` (`superuser`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
- Buka link “Model Generator.” Isikan form sebagai berikut:
Table Prefix: tbl_ Table Name: tbl_user Model Class: User Model Path : application.modules.user_access.models
Previewnya seperti berikut di bawah, setelah itu kemudian tekan tombol Generate
modules\user_access\models\User.php
- Kemudian buka link “Crud Generator”. Isikan form sebagai berikut:
Model Class: user_access.models.User Controller ID: user_access/user
modules\user_access\controllers\UserController.php modules\user_access\views\user\_form.php modules\user_access\views\user\_search.php modules\user_access\views\user\_view.php modules\user_access\views\user\admin.php modules\user_access\views\user\create.php modules\user_access\views\user\index.php modules\user_access\views\user\update.php modules\user_access\views\user\view.php
Perhatikan folder
protected\modules\user_accesssudah di-generate dengan Controller, Model, View, dsb. - CRUD dapat di akses dengan membuka url berikut http://localhost/yiitest/index.php?r=user_access

kang, minta tutorial CRUD yang pake DAO/query, lagi belajar nihh?
Wah ane blum pernah nyobain dao om. Maap ya…
Keren info’ya bro thanx ya !!!
Sep. Tks komennya ya…
browse ke sini: index.php?r=user_access/user/admin
dapet pesen:
Error 403
You are not authorized to perform this action.
wehehe helep bro, knp tuh?
Coba cek protected/config/main.php bagian ipFilters.
Kalo ga salah ya
thanx for help !! worked perfectly !
Ok. I’m glad I could help.