Yii Framework Untuk Pemula

31
Oleh : Yusrianto Yunus S.SI Yii Framework

description

Yii untuk belajar bagi pemula

Transcript of Yii Framework Untuk Pemula

Persiapan Tempur

Oleh :Yusrianto Yunus S.SIYii FrameworkBerkenalan Dengan Yii FrameworkYii 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 FrameworkPersiapan Tempur 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. Model-View-Controller Cek versi php yang digunakan. Karena Yii mendukung php 5.1.0 atau yang lebih tinggiCara 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.

Instalation Yii Framework

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

Download framework Yii versi terbaru di www.yiifamework.comCopy 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 perintahCd C:\xampp\htdocs/yiiworkshop/frameworkYiic webapp c:\xampp\htdocs\yiiworkshopMuncul pertanyaan. Apakah aplikasi diletakkan di c:\xampp\htdocs\yiiyuez. Jawab dengan Yes kemudian enter. Apabila berhasil akan muncul pesan your application has been created successfullyPengujian hasil instalasi.Buka browser, ketikkan localhost/yiiworkshopJika berhasil akan tampil seperti gambar di bawah :

Membuat Aplikasi Pertama dengan Yii Framework

Halaman Utama Yii FrameworkJalankan Service Mysql anda,Buat Database dengan nama db_workshopBuat table dengan nama levelMasukkan attribut seperti berikut : Membuat DatabaseNama AttributIDLevelTypeInt(4)Varchar(20)NullNoNoIndexPrimary Key-Auto IncrementYes-Nama AttributIDUserPwdemailDeskripsiTypeInt(4)Varchar(25)Varchar(32)Varchar(35)textNullNoNoNoNoNoIndexPrimary----A_IYes---Buat table dengan nama userMasukkan 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', ), */ Menghubungkan Database dengan Aplikasi Yii Framework buka file protected/config/main.php. Non aktifkan connector sqlite kemudian aktifkan mysqlLakukan konfigurasi terhadap mysqlSalah satu fitur dalam yii frameworkMengaktifkan code generate yang berfungsi membuat operasi CRUD (Create, Read, Update, Delete) pada suatu tabel di database. Untuk menggunakannya Buka file protected/config/main.php Gii'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 GiiLogin dengan password gii anda.Anda akan masuk kehalaman utama Gii

Halaman Utama GiiPilih Model ControllerMasukkan :Table Name : user [nama tabel yang ingin di generate]Pilih PreviewKemudian GenerateJika berhasil akan terbentuk sebuah file pada direktori protected/models/user.php dalam aplikasi anda.

Selanjutnya membuat operasi CRUDpada menu Gii pilih Crud Generator.

Masukkan :Model Class : User[Nama Model anda]Pilih PreviewKemudian 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

Membuat Form Registerpublic 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 actionsactions=>array(create,captcha),users=>array(*),),arraySetelah selesai. Maka buka file protected/models/User.phpCopy/ganti isi dari file user.txt yang ada pada kaset tutorial.buka file pada folder: protected/components/UserIdentity.php.Ganti code pada function authenticate :

Menghubungkan Form Login dengan Aplikasi Webpublic 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 variabelpublic functionvalidatePassword($password) ==>mengecek apakah password sudah benar atau belumpublic function hashPassword($password,$salt) ==>mengenkripsi password sesuai dengan code yang diberikan.public function beforeSave() ==>perintah ini dijalankan sebelum dilakukan penyimpananprotected function generateSalt() ==>menggenerate otomatis code enkripsi password.

Keterangan TambahanSetelah semua telah selesai. Langkah selanjutnya adalah mengubah ViewBuka file protected/views/user/_form.phpTambahkan kode berikut :

Ketik tulisan yang ada pada gambar.
Letters are not case-sensitive.

Ketik tulisan yang ada pada gambar.
Letters are not case-sensitive.

Tambahkan link pada form login untuk dapat mengakses form login.Buka protected/views/site/login.phpTambahkan :Belum punya akun, 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\extensionsUbah nama direktori menjadi bootstrap, sehingga struktur direktori menjadi C:\xampp\htdocs\webroot\protected\extensions\bootstrapTambahkan baris perintah pada file main.php yg ada pada direktori C:\xampp\htdocs\webroot\protected\configInstalasi Bootstrap Extension Yii Framework...Yii::setPathOfAlias('bootstrap',dirname(__FILE__).'/../extensions/bootstrap');returnarray('theme'=>'bootstrap','modules'=>array('gii'=>array('generatorPaths'=>array('bootstrap.gii',),),),'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..',...//applicationcomponent'components'=>array('user'=>array(//enablecookie-basedauthentication'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 ...

...Tambahkan baris perintah pada file Bootstrap.php yang ada pada direktori C:\xampp\htdocs\webroot\protected\extensions\bootstrap\components di dalam class...publicfunctioninit(){$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

Sekian dan Terima Kasih