• Tidak ada hasil yang ditemukan

Yii2 Kupas Tuntas

N/A
N/A
Protected

Academic year: 2021

Membagikan "Yii2 Kupas Tuntas"

Copied!
17
0
0

Teks penuh

(1)

Kupas Tuntas Yii Framework 2.0

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

(2)

i

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

(3)
(4)

Kupas Tuntas Yii Framework 2.0

1

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!

(5)

Kupas Tuntas Yii Framework 2.0

2

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

(6)

Kupas Tuntas Yii Framework 2.0

3

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.

(7)

Kupas Tuntas Yii Framework 2.0

4

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?

(8)

Kupas Tuntas Yii Framework 2.0

5

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 

(9)

Kupas Tuntas Yii Framework 2.0

6

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.

(10)

Kupas Tuntas Yii Framework 2.0

7

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

(11)

Kupas Tuntas Yii Framework 2.0

8

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).

(12)

Kupas Tuntas Yii Framework 2.0

9

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

(13)

Kupas Tuntas Yii Framework 2.0

10

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 masing-masing.

(14)

Kupas Tuntas Yii Framework 2.0

11

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 menyarankan menggunakan paket XAMPP.

(15)

Kupas Tuntas Yii Framework 2.0

12

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.

o Editor

o Web Server, PHP, and Database

E.

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

(16)

Kupas Tuntas Yii Framework 2.0

13

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

(17)

Kupas Tuntas Yii Framework 2.0

14

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 o Installation Yii2 Basic

o Installation Yii2 Advanced

 First Testing

 Understanding Folder Management

 Basic Configuration

o URL SEO Friendly o You have idea?

Referensi

Dokumen terkait

Hasil penelitian menunjukan bahwa elang jawa paling sering menggunakan tipe habitat utamanya adalah hutan alam dataran rendah dengan sebaran terkelompok pada hutan

Mengenai peranan korban dalam terjadinya tindak pidana penipuan transaksi jual beli di internet. Si korban memiliki peranan yang yang cukup besar, yaitu dengan secara tidak

Pengembangan desain dalam pembuatan produk elektronika praktis diawali dengan mencari data tentang potensi pasar yang membutuhkan produk elektronika praktis ini disamping

Puji dan syukur penulis panjatkan kepada Allah SWT atas segala hidayah dan karunia-Nya yang senantiasa memberikan petunjuk sehingga penluis dapat menyelesaikan skripsi

Dia ingin bersikap adil terhadap setiap orang, bahkan orang yang tidak dikenalnya sekalipun 4 Penting baginya untuk memperlihatkan kemampuannya.. Dia ingin

Pelaksanaan tindakan siklus I bertujuan untuk meningkatkan keterampilan berbicara siswa. Sebagai upaya untuk meningkatkan keterampilan berbicara siswa tersebut,

Melihat latar belakang diatas bahwa selama ini Lembaga Bimbingan Belajar Viara 58 (LBB Viara 58) dalam me- ngolah dan melakukan penilaian nilai tiap-tiap peserta

Hasil penelitian menunjukkan bahwa perlakuan POC daun yang diaplikasikan pada tanah dengan dosis 4ml/l dan 2 ml/l, serta asap cair 2% belum mampu menekan perkembangan penyakit