You are on page 1of 17

Kupas Tuntas Yii Framework 2.

0
Mengupas secara tuntas high performance php framework Yii 2.0
dalam rangka membangun aplikasi web profesional dengan cepat

HAFID MUKHLASIN

DAFTAR ISI
DAFTAR ISI ..................................................................................................................i
BAB I

Selayang Pandang ................................................................................ 1

A.

Apa itu Yii?................................................................................................... 2

B.

Mengapa Yii?............................................................................................... 3
1.

Kelebihan Yii .......................................................................................... 4

2.

Kekurangan Yii...................................................................................... 9

C.

Skill yang Diperlukan ............................................................................11

D.

Tool yang Dibutuhkan ..........................................................................11

E.

Tentang Buku Ini ....................................................................................12

BAB II

Instalasi dan Konfigurasi ................................................................14

BAB I
Selayang Pandang
Selamat datang di buku Kupas Tuntas Yii Framework 2.0. Buku ini
akan mengajak anda untuk turut serta berpetualang di alam
belantara Yii 2.0, beraksi dan menikmati keajaiban mengagumkan
yang mungkin belum pernah anda lihat sebelumnya.
Yii dengan segudang fiturnya, tidak hanya akan membantu anda
dalam mempercepat penyelesaian proyek-proyek aplikasi Anda,
namun lebih daripada itu, dia akan membuat Anda enjoy dan
merasa tertantang ketika sedang merajut kode bersamanya.
Bagaimanapun skill anda di bidang programming, maka Yii mampu
menempatkan posisinya dengan baik. Sebagai contoh, pada kondisi
dimana skill anda terbatas maka Yii dengan segenap keajaibannya
akan secara cantik menutup gap antara kebutuhan aplikasi yang
kompleks dan rumit dengan skill anda tersebut. Demikian juga
sebaliknya, Yii tidak akan pernah habis untuk dieksplorasi sampai
batas kemampuan kita.
Totalitas dan profesionalisme inilah yang kemudian mampu
merebut hati begitu banyak programmer dan developer dari
berbagai belahan dan penjuru dunia, dan hendaknya anda waspada
karena virus ini sebentar lagi akan menghinggapi anda!

Kupas Tuntas Yii Framework 2.0

A.

Apa itu Yii?

Tak kenal maka tak cinta, sampai pada tulisan ini anda harus
segera memutuskan apakah masih memiliki slot hati untuk
mencintai sebuah php framework lagi, jika tidak maka
berhentilah membaca buku ini karena resiko ditanggung
pembaca. Anda akan jatuh cinta selepas anda mengenalnya.
Serius!
Yii, dalam bahasa cina berarti simple and evolutionary,
merupakan sebuah php framework yang memiliki performa
mengagumkan, digunakan untuk membangun aplikasi berbasis web
secara profesional dan elegan. Definisi tentang apa itu Yii
sebenarnya tergantung ekspektasi anda terhadap sebuah php
framework, intinya, apapun yang anda inginkan maka ini adalah
pilihan yang tepat. Yes It Is. Untuk informasi lebih lengkap anda bisa
kunjungi website resminya di http://www.yiiframework.com.
Saat ini, Yii telah mencapai versi 2.0, namun meskipun demikian,
hingga tahun 2015 ini, Yii masih akan tetap men-support varian
versi 1.1 untuk memberikan kesempatan bagi para developer
sebelum mereka migrasi ke versi 2.0. Hal ini dikarenakan versi 2.0
ini memiliki perbedaan yang sangat signifikan dibandingkan dengan
versi 1.1, baik dari sisi kode, sebagian fitur, sebagian konsep, dan
teknologi yang diadopsi.
Dari sisi kode, Yii 2.0 berbeda jauh dengan Yii 1.0, karena memang
bukan pengembangan melainkan hasil tulis ulang kode dengan

Kupas Tuntas Yii Framework 2.0

konsep baru, serta mengadopsi teknologi-teknologi terbaru yang


telah didukung oleh PHP, seperti composer, PSR, namespace, dsb.
Jadi apakah anda sudah faham apa itu Yii? Atau bahkan anda sudah
mulai tertarik dengan Yii?

B.

Mengapa Yii?

Tidak harus, karena masih banyak framework php lain yang juga
layak untuk anda coba dan gunakan (janganlah seperti katak dalam
tempurung), yang mana diantara mereka ada yang lebih cepat, lebih
efisien, mendukung versi PHP lama, dsb. Tapi Yii berbeda, unik dan
fantastis yang tidak akan anda temui di framework-framework php
lainnya. Apa itu? penasaran? silahkan ikuti terus petualangan dalam
buku ini.
Yii seperti umumnya php framework lainnya, dapat digunakan
untuk membangun berbagai jenis aplikasi berbasis web, misalnya:
web portal, forum, CMS, e-commerce, web service, dan masih
banyak yang lainnya. Disamping itu, Yii juga memiliki fitur-fitur
yang umum dimiliki oleh framework modern lainnya, diantaranya:
MVC (model view controller), support banyak database, ORM,
caching, RESTful, code generator, dsb.
Sebagai mana Anda, Yii juga punya filosofi tersendiri dalam
pengembangannya

yaitu:

kode

seharusnya

ditulis

dengan

sederhana namun dengan cara elegan, serta performa yang tinggi


selalu menjadi kunci utama dalam setiap pengembanganya.

Kupas Tuntas Yii Framework 2.0

1.

Kelebihan Yii

Mungkin ini bagian yang banyak dicari oleh pemula yang ingin
belajar Yii. Yaitu tentang apa sih keunggulan dari framework ini
dibandingkan dengan framework lain. Bagi penulis, ini adalah topic
yang gampang-gampang susah karena sangat-sangat relative. Pada
intinya sih silahkan dicoba dan Anda akan menemukan satu persatu
kelebihan itu. Namun berdasarkan pengalaman selama ini, penulis
akan mencoba jabarkan tentang keunggulan Yii 2.0
Fitur & Guide Lengkap
Secara umum, menurut penulis dan rekan-rekan yang bergelut
dengan Yii, salah satu kelebihan framework ini yaitu Yii memiliki
fitur yang sangat lengkap, sehingga apapun yang Anda butuhkan
dalam suatu pembangunan aplikasi berbasis web, maka semua itu
pada umumnya sudah tercover oleh built-in Yii. Adapun jika kurang
maka ada banyak extension diluar sana yang bisa Anda gunakan
atau library-library PHP yang dengan mudah bisa kita integrasikan.
Tidak cukup disitu saja, manual Yii juga sangat lengkap dan jelas,
API Yii juga mudah dibaca karena tersusun rapi beserta
penjelasannya, bahkan buku ini pun maupun buku-buku sejenisnya
sebenarnya menjadi tidak perlu jika Anda mahir dalam Bahasa
Inggris. Hal ini juga diakui oleh developer dari php framework lain.
Menarik bukan?
Bukan One Man Show

Kupas Tuntas Yii Framework 2.0

Yii juga bukan lagi one man show, memang pada awalnya Yii
dibangun oleh satu orang developer saja yaitu Qiang Xue pada awal
tahun 2008. Beliau ini juga bukan pemain baru, melainkan
sebelumnya adalah developer salah satu php framework fenomenal
yaitu Prado. Saat ini, pengembangan Yii dilakukan oleh tim utama,
terdiri dari developer-developer kelas atas dunia termasuk Qiang
sendiri, serta didukung oleh komunitas yang selalu memberikan
kontribusi secara professional.
Komunitas Besar dan Aktif
Yii memiliki komunitas yang besar sehingga diharapkan ketika kita
menghadapi masalah dalam belajar atau pengembangan aplikasi
berbasis Yii akan banyak yang membantu.

http://www.yiiframework.com/forum/, forum resmi Yii


memiliki member 200 ribuan (Jan 2015)

https://www.facebook.com/groups/yiitalk, group FB resmi


Yii memiliki member 24 ribuan (jan 2015)

https://www.facebook.com/groups/yii.indonesia, group Yii


Indonesia memiliki member 19 ribuan (Jan 2015)

dsb

Menariknya, komunitas yang besar ini sangat aktif, tidak hanya


pada pertanyaan atau diskusi yang ringan, namun juga pada
pertanyaan atau diskusi dengan topic yang berat. Mari bergabung!
dan buktikan
Banyak Extension

Kupas Tuntas Yii Framework 2.0

Tidak semua fitur dimasukkan ke core dari Yii, jika kita


membutuhkan fitur yang spesifik yang tidak ada dalam fitur utama
Yii, maka jangan khawatir. Terdapat ribuan extension yang bisa kita
gunakan.
Kode Generator Ajaib
Yii memiliki kode generator (Gii) yang berfungsi menggenerate
code template model, crud, form, dsb. Sehingga akan mempercepat
developer dalam membangun sebuah aplikasi. Menariknya, tools ini
bisa dengan mudah dikustomisasi sesuai dengan keinginan.
Mengadopsi Standard dan Teknologi Terbaru
Setelah versi 2.0, Yii mengadopsi standard dan teknologi terbaru,
sebut saja: PHP 5.4 keatas, namespace , composer, PSR, dan bower.
Banyak best practice pada framework lain, cms, atau teknologi web
lain diadopsi oleh Yii seperti Prado, Symfony, Ruby n Rails, Joomla,
dsb. Developer Yii akan terus menyesuaikan dengan perkembangan
teknologi web, dan membuka masukan dari berbagai pihak.
Silahkan baca issue di github yii2.
Peningkatan Keamanan
Keamanan menjadi factor penting dalam dunia web programming,
dan developer Yii menyadari akan hal itu. Yii memiliki beberapa
fungsi keamanan built-in yang mudah digunakan, antara lain untuk
pencegahan SQL injections, XSS attacks, CSRF attacks, cookie
tampering, dsb.

Kupas Tuntas Yii Framework 2.0

Pada versi 2.0 ini, Yii juga telah direview oleh dua pakar keamanan
web yaitu Tom Worster and Anthony.
URL SEO Friendly
Hanya dengan sedikit konfigurasi, kita bisa membuat aplikasi
dengan URL yang SEO friendly. Fitur ini bernama pretty url, yang
pada versi 2.0 ini telah disempurnakan.
Mudah Integrasi dengan Library Lain
Sejak versi 1, Yii terkenal mudah berintegrasi dengan library lain,
apalagi setelah mendukung composer. Jadi jangan khawatir, karena
library PHP apapun bisa digunakan di Yii 2.0.
Built-in Twitter Bootstrap
Siapa yang tidak kenal Twitter Bootstrap (TB), sebuah framework
UI besutan designer Twitter yang sangat popular di dunia web
design. Yii 2.0 by default menggunakan TB sebagai base UI-nya,
dengan widget-widget yang memudahkan kita dalam menerapkan
UI ala TB, seperti form, tab, modal, dsb.
Oh mungkin Anda anti mainstream dan tidak mau menggunakan
TB!, no problem. Yii 2.0 by default memang menggunakannya
namun dengan sedikit konfigurasi kita bisa menggantinya dengan
UI kesukaan kita.
Authentication and Authorization
Yii

secara

built-in

mendukung

fitur

authentication

dan

authorization pengguna, seperti: login, logout, cookie-based dan

Kupas Tuntas Yii Framework 2.0

token-based authentication, access control filter dan role-based


access control (RBAC). Disamping itu juga mendukung OpenID,
OAuth1 dan OAuth2 protocols.
Internasionalisation dan Localisation
Dua fitur ini sudah built-in dan mudah digunakan. Disamping itu
secara built-in, Yii juga mendukung penerjemahan pesan error
internal ke dalam 26 bahasa dunia, termasuk Indonesia.
Mendukung Banyak Database Populer
Yii mendukung semua database popular, antara lain: mysql,
postgreSQL, mariadb, ms sql, oracle, mongodb. Disamping itu untuk
pengelolaan database, Yii juga menyediakan fitur migration, active
record, query builder, database access object.
Mendukung Template Engine
Yii mendukung dua template engine popular yaitu smarty dan Twig,
serta sangat memungkinkan bagi developer membuat sendiri
ekstensi yang mendukung template engine lain.
Mendukung Penuh Cache
Yii mendukung berbagai jenis cache (APC, Memcache, files,
databases, dsb) pada berbagai level aplikasi, baik dari sisi client
(HTTP caching) maupun server (fragment caching, dan query
caching).
Kemudahan Membuat Web Service

Kupas Tuntas Yii Framework 2.0

Implementasi web service menjadi sangat mudah, karena


mendukung penuh semua fungsi RESTful API.
Template Aplikasi
Yii juga menyediakan template aplikasi (basic dan advance) yang
akan memudahkan kita dalam memulai mendevelop aplikasi. Dari
sini akan memudahkan kita memahami best praktis dari Yii.
Tools Testing Terintegrasi
Secara built-in Yii juga menyediakan tools untuk testing aplikasi
yaitu codeception dan faker.

2.

Kekurangan Yii

Agar lebih fair maka penulis juga akan ulas beberapa kekurangan
dari framework ini.
Masih Terlalu Baru
Yii 1.x pertama kali release memang sudah sejak tahun 2008,
namun jika kita berbicara Yii 2.0 yang merupakan totally rewrite
dari Yii 1 maka ini masih sangat premature atau belum cukup teruji
karena release stabilnya baru pada 12 Oktober 2014.
Tapi perlu diketahui bahwa diskusi tentang konsep Yii 2.0 telah
dimulai sejak tahun 2012. Kemudian pada pertengahan tahun 2013,
dirilis Yii 2.0 Public Preview, Desember 2013 alpha, April 2014 beta,
baru kemudian 12 Oktober 2014 rilis Yii 2.0 stabil. Perjalanan yang
panjang (3 tahun) dan terbuka (github) ini dengan begitu banyak
masukan (10.000 commits) dan contributor (300-an), menurut

Kupas Tuntas Yii Framework 2.0

hemat penulis sudah cukup untuk menyimpulkan bahwa Yii 2.0


cukup mature.
Tidak Terlalu Populer
Awalnya Yii adalah framework PHP yang sangat popular, banyak
developer berbondong-bondong migrasi ke Yii terutama karena
performa yang mengagumkan. Namun seiring berjalannya waktu
dan perkembangan teknologi, Yii 1.x tidak segera mengadopsi
standard dan teknologi baru, justru berusaha untuk tetap
kompatibel dengan PHP versi lama, serta menjaga kompatibilitas
dan kestabilannya. Padahal saat itu framework php lain telah mulai
melakukannya.
Strategi Yii dengan membagi framework menjadi 2 varian versi
yaitu 1.x dan 2.x, serta terlalu lamanya pengembangan versi 2.0
yang mengadopsi standard dan teknologi terbaru, membuat banyak
developer akhirnya migrasi ke framework tetangga.
Meskipun bukan yang paling popular namun komunitas Yii cukup
besar.
Terlalu Lengkap
Bisa dibilang bahwa Yii 2.0 mengusung semua fitur yang diperlukan
bagi developer untuk membangun berbagai jenis aplikasi. Namun
sebagian developer tidak menyukai tools yang terlalu lengkap,
banyak fitur yang akan mubadzir dan tentunya bisa mempengaruhi
performa aplikasi. Namun semua kembali ke preferensi masingmasing.

10

Kupas Tuntas Yii Framework 2.0

Tidak Cepat
Soal kecepatan Yii 2.0 berada ditengah, banyak framework php yang
memiliki kecepatan jauh melampaui Yii 2.0.
Namun sebagai fullstack framework dengan fitur yang sangat
lengkap, performa Yii tergolong bagus. Apalagi jika didukung
dengan environment yang memadai (web server ngix, PHP FPM,
mariadb) serta penggunaan cache yang tepat dan efisien.

C.

Skill yang Diperlukan

Untuk dapat mengikuti panduan yang ada dalam buku ini dengan
baik, maka anda harus mempunyai pengetahuan yang cukup
tentang bahasa pemrograman PHP.

D.

Tool yang Dibutuhkan

Berikut ini tools yang diperlukan dan harus anda siapkan sebelum
mengikuti panduan yang ada dalam buku ini.
Web server apache atau nginx terbaru
PHP 5.4 atau yang lebih baru
MySQL atau Mariadb
Untuk

instalasi

ketiga

tools

diatas,

penulis

menggunakan paket XAMPP.


Code editor (sublime, notepad++, dll)

11

Kupas Tuntas Yii Framework 2.0

menyarankan

Yii 2.0 requires PHP 5.4.0 or above. You can find more detailed
requirements for individual features by running the requirement
checker included in every Yii release.

E.

Editor

Web Server, PHP, and Database

Tentang Buku Ini

Dalam buku ini, penulis akan membahas tentang Yii framework


versi 2.0, sehingga segala pembahasan yang ada akan anda jumpai
adalah tentang versi ini. Adapun sistematika materi yang disajikan
adalah sebagai berikut:
1.

Selayang Pandang

2.

Instalasi dan Konfigurasi

3.

Kode Generator (Gii)

4.

MVC Tingkat Lanjut

5.

Widget dan Kustomisasi UI

6.

Authentication & Authorization

7.

Pemrosesan File & Pembuatan Report

8.

Bekerja dengan Ajax

9.

Kustomisasi Gii

10. Topik Pilihan


11. Publikasi
Pembahasan pada setiap bab akan diawali dengan sedikit teori dan
konsep, yang kemudian diikuti dengan panduan step by step. Source
code dan berbagai bahan yang dibutuhkan pada tutorial dalam buku

12

Kupas Tuntas Yii Framework 2.0

ini bisa anda download di http://www.hafidmukhlasin.com/kupastuntas-yii2

13

Kupas Tuntas Yii Framework 2.0

BAB II

Instalasi dan Konfigurasi

Sebelum kita mulai melakukan instalasi, ada beberapa hal yang


perlu kita fahami.

Manual Installation (download)

Modern Installation
o

Understanding Composer & Github

Installation Yii2 Basic

Installation Yii2 Advanced

First Testing

Understanding Folder Management

Basic Configuration
o

URL SEO Friendly

You have idea?

3.

14

Kupas Tuntas Yii Framework 2.0

You might also like