Вы находитесь на странице: 1из 31

Oleh :

Yusrianto Yunus S.SI


Yii adalah framework (kerangka kerja) PHP berbasis-
komponen, berkinerja tinggi untuk pengembangan aplikasi
Web berskala-besar. Yii menyediakan reusability maksimum
dalam pemrograman Web dan mampu meningkatkan
kecepatan pengembangan secara signifikan. Nama Yii (dieja
sebagai /i:/) singkatan dari "Yes It Is!". Berikut merupakan
respon yang paling tepat dan akurat untuk yang baru dengan
Yii:
Apakah Yii cepat? ... Apakah Yii aman? ... Apakah Yii
profesional? ... Apakah Yii cocok untuk projek saya
berikutnya? ... Yes, it is!

Yii Framework, bisa anda download langsung di :
http://www.yiiframework.com/download/.
Web Server dan database. (paket xampp, appserver, wamp
atau yang lainny,a yang mendukung PHP 5.10 ke atas)
Bagi para pengembang yang ingin menggunakan Yii,
mengerti pemrograman berorientasi-objek (OOP) akan sangat
membantu, karena Yii merupakan framework OOP murni.
Editor untuk mengetik coding ( Adobe Dreamweaver, ckeditor)
Browser digunakan untuk testing, running, dan googling




Yii Paling Cocok untuk Apa?
Yii adalah framework pemrograman umum Web yang bisa
dipakai untuk mengembangkan semua jenis aplikasi Web.
Dikarenakan sangat ringan dan dilengkapi dengan mekanisme
caching yang canggih, Yii sangat cocok untuk pengembangan
aplikasi dengan lalu lintas-tinggi, seperti portal, forum, sistem
manajemen konten (CMS), sistem e-commerce, dan lain-lain.
Bagaimana Yii Dibandingkan dengan Framework Lain?
Seperti kebanyakan PHP framework, Yii adalah MVC framework.
Yii melampaui framework PHP lain dalam hal efisiensi,
kekayaan-fitur, dan kejelasan dokumentasi. Yii didesain
dengan hati-hati dari awal agar sesuai untuk pengembangan
aplikasi Web secara serius. Yii bukan berasal dari produk pada
beberapa proyek maupun konglomerasi pekerjaan pihak-
ketiga. Yii adalah hasil dari pengalaman kaya para pembuat
pada pengembangan aplikasi Web dan investigasi framework
pemrograman Web dan aplikasi yang paling populer.

Penerapan konsep MVC dimaksudkan untuk memisahkan logika bisnis dan
antar muka pada suatu aplikasi. Dengan MVC, seorang pengembang aplikasi
dapat lebih mudah mengubah suatu bagian dalam aplikasi tanpa harus
mengubah bagian yang lainnya.
model menggambarkan informasi atau data beserta aturan bisnisnya seperti
validasi, relasi, tipe data, dan lain-lain. Ada dua jenis model, yaitu model
yang disimpan dan dikumpulkan ke dalam database dan model yang setelah
dipakai tidak disimpan ke dalam database. Jika kita menggunakan model
yang setelah dipakai tidak disimpan ke dalam database, maka kita dapat
menggunkan Form Model untuk mendefinisikannya. Sedangkan untuk model
yang disimpan dan dikumpulkan ke dalam database, kita dapat menggunakan
Active Record.
View adalah antar muka aplikasi yang menjadi jembatan interaksi antara user
dan aplikasi.
Controller adalah jembatan yang menghubungkan antara View dan Model.
Controller terdiri dari action (aksi) yang akan melakukan request yang di
dalamnya biasanya memerlukan Model dan View. Dengan kata lain, jika anda
mau membuat sebuah aksi yang bisa direquest oleh user, anda harus
definisikan aksi tersebut di dalam sebuah controller.
Cek versi php yang digunakan. Karena Yii mendukung php 5.1.0 atau
yang lebih tinggi
Cara mengecek, ketik di browser (localhost/xampp/phpinfo.php)








Lakukan konfigurasi Environment variables, karena instalasi
menggunakan perintah Yiic di command promp.
Cara konfigurasi : buka windows explorer, klik kanan Computer dan pilih
properties, kemudian akan tampil jendela system, klik Advanced system
settings, selanjutnya klik tab Advanced. Cari bagian bawah Envronment
Variabel.


Pada bagian System variables cari variabel Path, lalu klik tombol
Edit
Kemudian pada bagian Variable value di akhir teks, tambahkan
;C:\xampp\php kemudian klik Ok









Download framework Yii versi terbaru di www.yiifamework.com
Copy file download tadi yang bernama yii-1.1.14.f0fee9.tar.gz
ke C:\xampp\htdocs. Kemudian ekstrak file tersebut. Akan
menghasilkan folder dengan nama yii-1.1.14.f0fee9, ganti nama
folder tersebut dengan nama yiiworkshop.
Nah. Yii Framework anda telah berhasil di install.

Buka command promp ketikkan perintah
Cd C:\xampp\htdocs/yiiworkshop/framework
Yiic webapp c:\xampp\htdocs\yiiworkshop
Muncul pertanyaan. Apakah aplikasi diletakkan di
c:\xampp\htdocs\yiiyuez. Jawab dengan Yes kemudian enter.
Apabila berhasil akan muncul pesan your application has
been created successfully
Pengujian hasil instalasi.
Buka browser, ketikkan localhost/yiiworkshop
Jika berhasil akan tampil seperti gambar di bawah :

Halaman Utama Yii Framework
Jalankan Service Mysql anda,
Buat Database dengan nama db_workshop
Buat table dengan nama level
Masukkan attribut seperti berikut :

Nama Attribut ID Level
Type Int(4) Varchar(20)
Null No No
Index Primary
Key
-
Auto Increment Yes -
Nama
Attribut
ID User Pwd email Deskripsi
Type Int(4) Varchar(25) Varchar(32) Varchar(35) text
Null No No No No No
Index Primary - - - -
A_I Yes - - -
Buat table dengan nama user
Masukkan attribut seperti berikut :

'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',
),
*/
buka file protected/config/main.php.
Non aktifkan connector sqlite kemudian aktifkan mysql
Lakukan konfigurasi terhadap mysql
Salah satu fitur dalam yii framework
Mengaktifkan code generate yang berfungsi
membuat operasi CRUD (Create, Read,
Update, Delete) pada suatu tabel di database.
Untuk menggunakannya
Buka file protected/config/main.php
'modules'=>array(
// uncomment the following to enable the Gii tool
/*
'gii'=>array(
'class'=>'system.gii.GiiModule',
'password'=>'Enter Your Password Here',
// If removed, Gii defaults to localhost only. Edit
carefully to taste.
'ipFilters'=>array('127.0.0.1','::1'),
),
*/
),

Hilangkan tag komentar yang ada pada code tersebut
konfigurasi password sesuai keinginan anda.
Akses localhost/yiiworkshop/index.php?r=gii
Jika sudah sesuai dengan hasil, itu berarti anda sudah bisa
menggunakan Gii untuk meng-generate code anda.
Halaman Login Gii
Login dengan password gii anda.
Anda akan masuk kehalaman utama Gii
Halaman Utama Gii
Pilih Model Controller
Masukkan :
Table Name : user [nama tabel yang ingin di generate]
Pilih Preview
Kemudian Generate
Jika berhasil akan terbentuk sebuah file pada direktori
protected/models/user.php dalam aplikasi anda.

Selanjutnya membuat operasi CRUD
pada menu Gii pilih Crud Generator.











Masukkan :
Model Class : User[Nama Model anda]
Pilih Preview
Kemudian Generate
Lihat Hasil, di :
http://localhost/yiiworkshop/index.php?r=user

Di dalam form register kita akan menambahkan captcha
untuk keamanan datanya.
Buka protected/controllers/UserControllers.php





public function actions()
{
return array(
// captcha action renders the CAPTCHA image displayed on the contact page
'captcha'=>array(
'class'=>'CCaptchaAction',
'backColor'=>0xFFFFFF,
),
// page action renders "static" pages stored under 'protected/views/site/pages
// They can be accessed via: index.php?r=site/page&view=FileName
'page'=>array(
'class'=>'CViewAction',
),
);
}
Untuk mendapat hak akses user.
Ubah/tambahkan method accessRules() seperti
berikut :
return array(
array(allow, // allow all users to perform index
and view actions
actions=>array(create,captcha),
users=>array(*),
),
array
Setelah selesai. Maka buka file
protected/models/User.php
Copy/ganti isi dari file user.txt yang ada pada
kaset tutorial.
buka file pada folder:
protected/components/UserIdentity.php.
Ganti code pada function authenticate :

public function authenticate()
{
$model = new User;
$user= $model->findByAttributes(array('username'=>$this->username));
if($user===null){
$this->errorCode=self::ERROR_USERNAME_INVALID;
}else{
if($user->password !== md5($this->password)){
$this->errorCode=self::ERROR_PASSWORD_INVALID;
}else{
$this->_id = $user->id;
$this->errorCode=self::ERROR_NONE;
}
}
return !$this->errorCode;
}
public function getId() {
return $this->_id;
}
public function rules() ==> mendefinisikan batasan/validasi
dari variabel yang ada.
public function attributeLabels() ==> mengeset label yang
ada pada masing-masing variabel
public function
validatePassword($password) ==>mengecek apakah
password sudah benar atau belum
public function hashPassword($password,$salt)
==>mengenkripsi password sesuai dengan code yang
diberikan.
public function beforeSave() ==>perintah ini dijalankan
sebelum dilakukan penyimpanan
protected function generateSalt() ==>menggenerate otomatis
code enkripsi password.

Setelah semua telah selesai. Langkah selanjutnya adalah
mengubah View
Buka file protected/views/user/_form.php
Tambahkan kode berikut :


<?php if (extension_loaded('gd')): ?>
<div class="row">
<?php echo CHtml::activeLabelEx($model, 'verifyCode')?>
<div>
<?php $this->widget('CCaptcha');?>
<?php echo CHtml::activeTextField($model,'verifyCode');?>
</div>
<div class="hint">Ketik tulisan yang ada pada gambar.
<br />Letters are not case-sensitive.</div>
</div>
<?php endif; ?>

<?php if (extension_loaded('gd')): ?>
<div class="row">
<?php echo CHtml::activeLabelEx($model, 'verifyCode')?>
<div>
<?php $this->widget('CCaptcha');?>
<?php echo CHtml::activeTextField($model,'verifyCode');?>
</div>
<div class="hint">Ketik tulisan yang ada pada gambar.
<br />Letters are not case-sensitive.</div>
</div>
<?php endif; ?>
Tambahkan link pada form login untuk dapat mengakses form login.
Buka protected/views/site/login.php
Tambahkan :
<p class=hint>
Belum punya akun, <?php echo CHtml::link( silahkan
register,array(userAdmin/create)); ?>
</p>
Selesai, Lakukan Test pada halaman login untuk melakukan register.



Unduh bootstrap extension pada website resmi yii:
http://www.yiiframework.com/extension/bootstrap/
Extract ke direktori
C:\xampp\htdocs\webroot\protected\extensions
Ubah nama direktori menjadi bootstrap, sehingga struktur
direktori menjadi
C:\xampp\htdocs\webroot\protected\extensions\bootstrap
Tambahkan baris perintah pada file main.php yg ada pada
direktori C:\xampp\htdocs\webroot\protected\config
...
Yii::setPathOfAlias('bootstrap', dirname(__FILE__).'/../extensions/bootstrap');
return array(
'theme'=>'bootstrap',
'modules'=>array(
'gii'=>array(
'generatorPaths'=>array(
'bootstrap.gii',
),
),
),
'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..',
...
// application component
'components'=>array(
'user'=>array(
// enable cookie-based authentication
'allowAutoLogin'=>true,
),

'bootstrap'=>array(
'class'=>'bootstrap.components.Bootstrap',
),
Tambahkan perintah pada file main.php yg ada pada direktori
C:\xampp\htdocs\webroot\protected\views\layout\ dibawah
tag <head>
...
<?php Yii::app()->bootstrap->registerAllCss(); ?>
...
Tambahkan baris perintah pada file Bootstrap.php yang ada
pada direktori
C:\xampp\htdocs\webroot\protected\extensions\bootstrap\c
omponents di dalam class
...
public function init()
{ $this->registerAllCss(); $this->registerJs(); parent::init();
}
...
Salin direktori theme yg ada pada direktori
C:\xampp\htdocs\webroot\protected\extensions\bootstrap
ke direktori C:\xampp\htdocs\webroot\themes kemudian
ubah nama direktori theme menjadi bootstrap

Вам также может понравиться