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_access
sudah di-generate dengan Controller, Model, View, dsb. - CRUD dapat di akses dengan membuka url berikut http://localhost/yiitest/index.php?r=user_access
18 Komentar. Leave new
hallo. mau nanya dong. udah berhasil login di gii. tapi di model generator nya pas mau di isi table name nya kenapa susah ya. di bawah form table name nya muncul bertuliskan table does not exist warna merah. kenapa ya kira kira?. pusing nih. gak nemu solusinya. ga tau belom bisa mecahin masalahnya. kalo emang tidak terhubung dgn tabel di db nya cara hubungin nya gimana? terimakasih, mohon pencerahannya dong. . aku pake yii versi 1.1.17
mungkin perlu dipastiin dulu tablenya. namanya sama apa ga. trus cek db yg di-load db yg sama.
eh, maaf salah nulis. maksud saya di model generator nya.
mas, kenapa ya di modul generator saya kan d suruh ngisi database connection, sama ngisi untuk nama tabelnya. itu saya udah isi semuanya. nah pas waktu saya klik preview malah di database connection nya muncul tulisan “A valid database connection is required to run this generator” ?. gmana ya itu cara biar jalan?. terus kalo aku cari referensi lain ada form generate nya. tapi punyaku cuma preview aja. itu cara nya supaya jalan gimana ya? makasih, di tunggu jawabannya
Dilihat dari errornya masalah DB tuh. Mmm coba di oprek bagian setingan/config databasenya. Pastikan DB nya jalan servicenya dan host, username, password, dan portnya sudah benar.
gan tolong ane dong, ane kesulitan dalam belajar yii ni..
waktu klik link generetor MODEL sama CRUD g berhasil dengan keterangan seperti ini
CDbConnection failed to open the DB connection: could not find driver
C:\xampp\htdocs\yii\framework\gii\generators\model\ModelCode.php(57)
45 ));
46 }
47
48 public function requiredTemplates()
49 {
50 return array(
51 ‘model.php’,
52 );
53 }
54
55 public function init()
56 {
57 if(Yii::app()->{$this->connectionId}===null)
58 throw new CHttpException(500,’A valid database connection is required to run this generator.’);
59 $this->tablePrefix=Yii::app()->{$this->connectionId}->tablePrefix;
60 parent::init();
61 }
62
63 public function prepare()
64 {
65 if(($pos=strrpos($this->tableName,’.’))!==false)
66 {
67 $schema=substr($this->tableName,0,$pos);
68 $tableName=substr($this->tableName,$pos+1);
69 }
mohon bantuanya para master…
waduuh, belum bisa mahami ini tutorialnya, bagaimana cara membuat CRUD di dalam Modules bang, bukan Module loo ya ?
Best Regards
Ekoo Ardoo
Framework Yii memang agak susah dipelajari dibandingkan dengan Codeigniter. Tapi Yii aslinya sudah ada fitur modularnya, dibanding Codeigniter yang harus menggunakan Library tambahan. Kesulitannya di mana?
wadhuh… tutorialnya gak jalan tuh mas..
Mungkin sy pake yg versi lama. Coba merujuk web resminya. http://www.yiiframework.com/doc/guide/1.1/en/topics.gii
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. 😀