Teman2 .....mungkin tertarik dengan Yii...namun sulit untuk mempraktekannya....Baiklah saya cuba sharing beberapa pengalaman saya belajar YII dengan cara cepat..
Download Materi Kursus YII Hari1 lp2maray
Cukup 30 menit fokus ...Kita sudah bisa membuat CRUD(Create Read Update Delete) padaYII Framework
Sebagai berikut langkah2 dan hasilnya...semoga bisa membantu....Amiin.....
Belajar YII
Sebelumnya
Download Dulu ya source code nya…lalu di copas ke Xampp/htdocs masing2…juga
databsenya kasih aja dengan nama yiibuku lalu import….yiibuku.sql(ada di link
tsb juga)
Lalu mulai deh setting2…..
Konfigurasi index Header
C:\xampp\htdocs\yiibuku\protected\views\layouts\main.php
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
lang="en">
<head>
<meta
http-equiv="Content-Type" content="text/html;
charset=utf-8" />
<meta name="language"
content="en" />
|
<link rel="stylesheet" type="text/css"
href="<?php echo Yii::app()->request->baseUrl;
?>/css/screen.css" />
<link rel="stylesheet" type="text/css"
href="<?php echo Yii::app()->request->baseUrl;
?>/css/print.css" />
<link rel="stylesheet" type="text/css"
href="<?php echo Yii::app()->request->baseUrl;
?>/css/main.css" />
<link rel="stylesheet" type="text/css"
href="<?php echo Yii::app()->request->baseUrl;
?>/css/form.css" />
<title><?php echo CHtml::encode($this->pageTitle);
?></title>
</head>
|
<body>
<div class="container"
id="page">
<div
id="header">
<div
id="logo">LP2MARAY YII <?php echo CHtml::encode(Yii::app()->name);
?></div>
</div><!--
header -->
<div id="mainmenu">
array('items'=>array(
array('label'=>'Home',
'url'=>array('/site/index')),
array('label'=>'About',
'url'=>array('/site/page', 'view'=>'about')),
array('label'=>'Buku',
'url'=>array('/buku/index')),//index.php?r=buku
array('label'=>'Admin',
'url'=>array('/admin/index')),//index.php?r=buku
),)); ?>
</div>
<?php
if(isset($this->breadcrumbs)):?>
<?php
$this->widget('zii.widgets.CBreadcrumbs',
array('links'=>$this->breadcrumbs,)); ?>
<?php endif?>
<?php echo $content; ?>
<div
class="clear"></div>
|
<div id="footer">
Copyright © <?php echo
date('Y'); ?> by lp2maray.com.<br/>
All Rights Reserved.<br/>
<?php echo Yii::powered(); ?>
</div><!-- footer -->
</div><!-- page -->
</body>
</html>
|
Konfigurasi index Body
<?php
$this->pageTitle=Yii::app()->name; ?>
<h1>Welcome to LP2M ARAY
<i><?php echo CHtml::encode(Yii::app()->name);
?></i></h1>
<p>Congratulations! You have
successfully created your Yii application.</p>
<p>You may change the content of
this page by modifying the following two files:</p>
|
<ul>
<li>View
file: <tt><?php echo __FILE__; ?></tt></li>
<li>Layout
file: <tt><?php echo $this->getLayoutFile('main');
?></tt></li>
</ul>
|
<p>For more details on how to
further develop this application, please read the <a
href="http://www.yiiframework.com/doc/">documentation</a>.
Feel free to ask in the <a
href="http://www.yiiframework.com/forum/">forum</a>,
should you have any
questions.</p>
|
Lalu Buat database:
yiibuku
CREATE TABLE IF NOT EXISTS `tb_admin` (
`kode_admin` varchar(8) COLLATE
latin1_general_ci NOT NULL,
`username`
varchar(25) COLLATE latin1_general_ci NOT NULL,
`password`
varchar(25) COLLATE latin1_general_ci NOT NULL,
`telepon`
varchar(15) COLLATE latin1_general_ci NOT NULL,
`email`
varchar(50) COLLATE latin1_general_ci NOT NULL,
`gambar`
varchar(50) COLLATE latin1_general_ci NOT NULL,
`status` varchar(15)
COLLATE latin1_general_ci NOT NULL,
PRIMARY KEY
(`kode_admin`)) ;
Copas aplikasi
yiibuku ke htdocs pada xampp
Missal:C:\xampp\htdocs\
3.Setting
koneksi , buka file C:\xampp\htdocs\yiibuku\protected\config\main.php
Sesuaikan formula koneksi nya:
'db'=>array(
Sesuaikan formula koneksi nya:
'db'=>array(
'connectionString'
=> 'mysql:host=localhost;dbname=yiibuku',
'emulatePrepare'
=> true,
'username'
=> 'root',
'password'
=> '',
'charset'
=> 'utf8',
),
5.Buat folder
admin dan letakkan di path : C:\xampp\htdocs\yiibuku\protected\views\admin
Tiga file tsb
al:
lihat.php
baru.php
ubah.php
file lihat.php
<?php
echo CHtml::link(CHtml::encode("Tambah Data"),
array('create'));
?></p>
|
<table style="border-collapse: collapse; border:solid 1px
#000; " border="1">
|
<tr style="border: 1px solid;"
bgcolor="#999999">
<th>no</th>
<th>kode_admin</th>
<th>username</th>
<th>password</th>
<th>telepon</th>
<th>email</th>
<th>gambar</th>
<th>status</th>
<th>menu</th>
</tr>
|
<?php
$no=0;
foreach ($data
as $model):
$no++;
$color="#eeeeee";
if($no
%2==0){$color="#dddddd";}
$kode_admin=$model->kode_admin;
$username=$model->username;
$password=$model->password;
$telepon=$model->telepon;
$email=$model->email;
$gambar=$model->gambar;
$status=$model->status;
$ubh=CHtml::link(CHtml::encode("Update"),array('update',
'kode_admin'=>$model->kode_admin));
$hps=CHtml::link(CHtml::encode("Delete"),array('admin/delete',
'kode_admin'=>$model->kode_admin));
echo"<tr
bgcolor='$color'><td>$no</td>";
echo"
<td>$kode_admin</td>
<td>$username</td>
<td>$password</td>
<td>$telepon</td>
<td>$email</td>
<td>$gambar</td>
<td>$status</td>
<td>$ubh |
$hps</td>
</tr>
";
endforeach;
?>
</table>
|

file
baru.php
<div class="form">
<?php
echo
CHtml::beginForm(array('create'));
echo
CHtml::errorSummary($model);
?>
<div
class="row">
<?php
echo CHtml::activeLabel($model,'kode_admin'); ?>
<?php
echo CHtml::activeTextField($model,"kode_admin","");
?>
</div>
<div
class="row">
<?php
echo CHtml::activeLabel($model,'username'); ?>
<?php
echo CHtml::activeTextField($model,"username",""); ?>
</div>
<div
class="row">
<?php
echo CHtml::activeLabel($model,'password'); ?>
<?php
echo CHtml::activeTextField($model,"password",""); ?>
</div>
<div
class="row">
<?php
echo CHtml::activeLabel($model,'telepon'); ?>
<?php
echo CHtml::activeTextField($model,"telepon",""); ?>
</div>
<div
class="row">
<?php
echo CHtml::activeLabel($model,'email'); ?>
<?php
echo CHtml::activeTextField($model,"email",""); ?>
</div>
<div
class="row">
<?php
echo CHtml::activeLabel($model,'gambar'); ?>
<?php
echo CHtml::activeTextField($model,"gambar",""); ?>
</div>
<div
class="row">
<?php
echo CHtml::activeLabel($model,'status'); ?>
<?php
echo CHtml::activeTextField($model,"status",""); ?>
</div>
<div
class="row buttons">
<?php
echo CHtml::submitButton('Submit'); ?>
<?php echo CHtml::endForm();?>
</div>
</div>
|
File ubah.php
<div class="form">
<?php
echo
CHtml::beginForm(array('update','kode_admin'=>$model->kode_admin));
?>
<div
class="row">
<?php echo CHtml::activeLabel($model,'kode_admin'); ?>
<?php echo
CHtml::activeTextField($model,"kode_admin","");?>
</div>
<div
class="row">
<?php echo CHtml::activeLabel($model,'username'); ?>
<?php
echo CHtml::activeTextField($model,"username","");?>
</div>
<div
class="row">
<?php echo CHtml::activeLabel($model,'password'); ?>
<?php echo
CHtml::activeTextField($model,"password","");?>
</div>
<div
class="row">
<?php echo
CHtml::activeLabel($model,'telepon'); ?>
<?php
echo CHtml::activeTextField($model,"telepon",""); ?>
</div>
<div
class="row">
<?php
echo CHtml::activeLabel($model,'email'); ?>
<?php
echo CHtml::activeTextField($model,"email",""); ?>
</div>
<div
class="row">
<?php
echo CHtml::activeLabel($model,'gambar'); ?>
<?php
echo CHtml::activeTextField($model,"gambar",""); ?>
</div>
<div
class="row">
<?php
echo CHtml::activeLabel($model,'status'); ?>
<?php
echo CHtml::activeTextField($model,"status",""); ?>
</div>
<div class="row buttons">
<?php
echo CHtml::submitButton('Update'); ?>
<?php
echo CHtml::endForm();?>
|
Membuat Model: AdminModel.php (character
A huruf besar)
Pada path: C:\xampp\htdocs\yiibuku\protected\models
Sehingga jadinya
adalah sbb: C:\xampp\htdocs\yiibuku\protected\models\AdminModel.php
<?php
class AdminModel extends CActiveRecord{
|
public static function model($className=__CLASS__){
return
parent::model($className);
}
|
public function tableName(){return 'tb_admin';}
public function
attributeLabels(){
return
array(
'kode_admin'
=> 'kode_admin',
'username'
=> 'username',
'password'=>'password',
'telepon'=>'telepon',
'email'=>'email',
'gambar'=>'gambar',
'status'=>'status',
);
}
|
}
?>
|
Buat file AdminController.php
(character A dan C huruf besar)
Diletakkan ke
C:\xampp\htdocs\yiibuku\protected\controllers\
Sehingga terdapat
file baru menjadi : C:\xampp\htdocs\yiibuku\protected\controllers\AdminController.php
Sesuaikan isinya AdminController.php:
<?php
class AdminController extends Controller{
public $layout="column1";
const INDEX="index";
|
public function actionIndex(){
$data = AdminModel::model()->findAll();
$this->render('lihat',array('data'=>$data));
}
function actionCreate(){
$model=new AdminModel;
if(isset($_POST['AdminModel'])){
$model->kode_admin=$_POST['AdminModel']['kode_admin'];
$model->username=$_POST['AdminModel']['username'];
if($model->save()){$this->redirect(array('index'));}
}
$this->render('baru',array('model'=>$model,));
}
|
public function actionUpdate($kode_admin){
$model=AdminModel::model()->findByPk($kode_admin);
if(isset($_POST['AdminModel'])){
$model->kode_admin=$_POST['AdminModel']['kode_admin'];
$model->username=$_POST['AdminModel']['username'];
if($model->save()){$this->redirect(array('index'));}
}
$this->render('ubah',array('model'=>$model,));
}
|
public function actionDelete($kode_admin){
if(AdminModel::model()->deleteByPk($kode_admin)){
$this->redirect(array(self::INDEX));
}else{
throw new
CHttpException(404,'The requested page
does not exist.');
}
}
|
}
?>
|
bisa ditulis
juga sebagai:
darinya akan
diarahkan ke AdminController ActionIndex
jadi class
AdminController dipanggil sebagai admin
Inti link
ubah dan hapus adalah untuk menjalankan linksbb:
Hasil
Akhirya:
NB.Materi di
atas adalah Materi Hari pertama kursus YII di lp2maray,
Dengan silabus
urutannya adalah sbb:
Hari1:
Instalasi
YII CLI dan GUI
Pembuatan
database dan table mysql
Pengenalan MVC
Penjelasan dan membuat Views lihat+baru+ubah
Penjelasan dan membuat Model Tabel dan Field
Penjelasan dan membuat Controller ActionIndex, ActionCreate, ActionUpdate, ActionDelete, Render index
Pengenalan MVC
Penjelasan dan membuat Views lihat+baru+ubah
Penjelasan dan membuat Model Tabel dan Field
Penjelasan dan membuat Controller ActionIndex, ActionCreate, ActionUpdate, ActionDelete, Render index
Penjelasan dan
membuat index header dan index body serta halaman statis about
Hari2:
Praktik
penggunaan Radio
Praktik penggunaan Combobox
Praktik relasi Combobox YII
Praktik penggunaan Image pada YII
Praktik penggunaan Combobox
Praktik relasi Combobox YII
Praktik penggunaan Image pada YII
Praktik
Upload Image pada YII
Studi Kasus
Hari3
Penjelasan
dan Praktek Validasi Form
Penjelasan
dan Praktek Ajax Validasi
Penjelasan dan Praktek Widget Form YII
CJuiDatePicker /Kalender Tanggal
Studi Kasus
Penjelasan dan Praktek Widget Form YII
CJuiDatePicker /Kalender Tanggal
Studi Kasus
Hari4
Login dan HaK
Akses
Filter User Untuk
Hak Akses Halaman
Relasi Antar
Tabel
Studi Kasus
Hari5
Praktek Tata
Letak
Praktek GII :YII CodeGenerator
Praktek GII :YII CodeGenerator
Info Lebih:
http://www.Lp2maray.com
cp:adi 085279959498
cp:adi 085279959498
021-92771708/021-78889003










