Selamat siang menjelang sore guys. Saya sedang belajar Yii dan ingin berbagi ilmu kepada teman-teman. Pasti teman-teman sudah ada yang tau apa sih Yii itu. Oke langsung aja guys gak terlalu banyak mengoceh.
Apakah sih Yii?
Yii adalah perfoma tinggi, berbasis komponen framework PHP untuk membangun aplikasi web modern dengan cepat. Nama Yii (dilafalkan Yee atau [ji:]) berarti "sederhana dan evolusioner" dalam bahasa china. Yii juga dapat dianggap akronim dari Yes It Is!
Yii terbaik untuk ?
Yii adalah kerangka kerja web programming umum, berarti dapat digunakan untuk membangun semua jenis aplikasi web menggunakan PHP. Karena berbasis komponen arsitektur dan mendukung caching canggih, cocok terutama untuk membangun aplikasi berskala besar seperti portal, forum, content management systems (CMS), proyek e-commerce, full web services, dan sebagainya.
Bagaimana Yii dibandingkan dengan Framework lainnya?
Jika kamu sudah terbiasa dengan framework lain, kamu mungkin mengetahui berbagaimana perbandingan Yii:
Versi Yii
Yii sekarang tersedia 2 versi yaitu versi 1.1 dan versi 2.0. Versi 1.1 merupakan generasi pertama dan sekarang dalam keadaan pemeliharaan. Versi 2 telah selesai di buat Yii, mengadopsi teknologi dan protokol terbaru, mencakup composer, PSR, namespaces, traits dan seterusnya.
Versi 2.0 mewakili framework generasi sekarang dan akan menerima pengembangan utama beberapa tahun kedepan.
Syarat dan Prasyarat
Yii 2 membutuhkan PHP versi 5.4.0 atau lebih tinggi (Yii versi 1 membutuhkan PHP versi 5.1.0 atau lebih tinggi). Kamu dapat melihat kebutuhan detail lainnya untuk fitur pribadi / individu dengan menjalankan requirement checker yang terdapat di setiap rilis Yii. Yii menggunakan dasar pemrograman berbasis objek (OOP), sama saja Yii adalah framework berorientasi OOP murni.
Yii 2.0 juga dibuat menggunakan fitur-fitur PHP terbaru, seperti namespaces dan traits. Memelajari konsep tersebut akan membantu kamu untuk lebih mudah dalam mempelajari Yii versi 2.
Model-View-Controller (MVC)
Yii mengimplementasi pola desain model-view-controller (MVC), yang mengadopsi pemrograman web umumnya. Tujuan MVC untuk memecah logika dari tampilan user, sehingga pengembang dapat lebih mudah untuk mengubah setiap bagin tanpa mempengaruhi yang lainnya.
Di MVC, model mewakili informasi (data) dan aturan bisnis. View menampilkan konten user seperti teks, form input, dan sebagainya. Dan controller mengatur komunikasi antara model dan view. Selain mengimplementasi MVC, Yii juga memperkenalkan front-controller, yang disebut Aplikasi, yang mana mengenkapsulasi jalannya konteks untuk memproses permintaan (request). Aplikasi mengambil beberapa informasi tentang permintaan user dan kemudian mengirimkannya ke controller untuk diproses.
Diagram dibawah menggambarkan struktur statik aplikasi Yii.

Alur kerja Umum Yii.
Diagram dibawah menggambarkan alur kerja umum aplikasi Yii saat menganngani permintaan user.

Penjelasan :
Apakah sih Yii?
Yii adalah perfoma tinggi, berbasis komponen framework PHP untuk membangun aplikasi web modern dengan cepat. Nama Yii (dilafalkan Yee atau [ji:]) berarti "sederhana dan evolusioner" dalam bahasa china. Yii juga dapat dianggap akronim dari Yes It Is!
Yii terbaik untuk ?
Yii adalah kerangka kerja web programming umum, berarti dapat digunakan untuk membangun semua jenis aplikasi web menggunakan PHP. Karena berbasis komponen arsitektur dan mendukung caching canggih, cocok terutama untuk membangun aplikasi berskala besar seperti portal, forum, content management systems (CMS), proyek e-commerce, full web services, dan sebagainya.
Bagaimana Yii dibandingkan dengan Framework lainnya?
Jika kamu sudah terbiasa dengan framework lain, kamu mungkin mengetahui berbagaimana perbandingan Yii:
- Seperti sebagian besar framework PHP, Yii mengimplementasi pola desain MVC (Model-View-Controller) dan menaikkan pola berbasis kelompok kode.
- Yii mempunyai filosofi "code ditulis dengan sederhana tapi elegan". Yii tidak akan pernah mencoba desain yang berlebihan untuk tujuan mengikuti beberapa pola desain dengan sempurna.
- Yii adalah framework bertumpuk yang menyediakan banyak fitur yang terjamin dan siap digunakan : query builders dan activeRecord yang saling berelasi dan tanpa sintaks sql; mendukung penuh pembangunan API; mendukung caching bertingkat; dan lainnya.
- Yii luas. Kamu dapat mengkostumisasi atau menimpa hampir setiap potongan kode. Kamu juga dapat mengambil keuntungan arsitektur ekstensi Yii untuk digunakan atau dikembangkan.
- Performa tinggi selalu menjadi tujuan utama Yii.
Versi Yii
Yii sekarang tersedia 2 versi yaitu versi 1.1 dan versi 2.0. Versi 1.1 merupakan generasi pertama dan sekarang dalam keadaan pemeliharaan. Versi 2 telah selesai di buat Yii, mengadopsi teknologi dan protokol terbaru, mencakup composer, PSR, namespaces, traits dan seterusnya.
Versi 2.0 mewakili framework generasi sekarang dan akan menerima pengembangan utama beberapa tahun kedepan.
Syarat dan Prasyarat
Yii 2 membutuhkan PHP versi 5.4.0 atau lebih tinggi (Yii versi 1 membutuhkan PHP versi 5.1.0 atau lebih tinggi). Kamu dapat melihat kebutuhan detail lainnya untuk fitur pribadi / individu dengan menjalankan requirement checker yang terdapat di setiap rilis Yii. Yii menggunakan dasar pemrograman berbasis objek (OOP), sama saja Yii adalah framework berorientasi OOP murni.
Yii 2.0 juga dibuat menggunakan fitur-fitur PHP terbaru, seperti namespaces dan traits. Memelajari konsep tersebut akan membantu kamu untuk lebih mudah dalam mempelajari Yii versi 2.
Model-View-Controller (MVC)
Yii mengimplementasi pola desain model-view-controller (MVC), yang mengadopsi pemrograman web umumnya. Tujuan MVC untuk memecah logika dari tampilan user, sehingga pengembang dapat lebih mudah untuk mengubah setiap bagin tanpa mempengaruhi yang lainnya.
Di MVC, model mewakili informasi (data) dan aturan bisnis. View menampilkan konten user seperti teks, form input, dan sebagainya. Dan controller mengatur komunikasi antara model dan view. Selain mengimplementasi MVC, Yii juga memperkenalkan front-controller, yang disebut Aplikasi, yang mana mengenkapsulasi jalannya konteks untuk memproses permintaan (request). Aplikasi mengambil beberapa informasi tentang permintaan user dan kemudian mengirimkannya ke controller untuk diproses.
Diagram dibawah menggambarkan struktur statik aplikasi Yii.

Alur kerja Umum Yii.
Diagram dibawah menggambarkan alur kerja umum aplikasi Yii saat menganngani permintaan user.

Penjelasan :
- User membuat permintaan dengan URL http://www.example.com/index.php?r=post/show&id=1 dan server web menangani permintaan dengan mengeksekusi skrip bootstrap index.php.
- Skrip bootstrap membuat contoh aplikasi dan menjalankannya.
- Aplikasi memperoleh detail permintaan user dari komponen aplikasi yang disebut request.
- Aplikasi menentukan permintaaan controller dan action dengan membantu komponen aplikasi yang disebut urlManager. Sebagai contoh, controller post yang menyerahkan ke Class PostController dan action menampilkan arti yang diterjemahkan oleh controller.
- Aplikasi membuat contoh controller yang diminta untuk menangani permintaan user lebih lanjut. Controller menentukan action show yang mengacu pada method actionShow di class controller. Kemudian actionShow membuat dan mengeksekusi jika diperbolehkan oleh filters(role).
- Actions membaca kiriman model yang mempunyai ID 1 dari database.
- Actions menerjemahkan view yang dikirim oleh model Post.
- View membaca dan menampilkan attributes model Post.
- View menjalankan beberapa widgets.
- View menerjemahkan hasil yang ditampilkan di layout.
- Action selesai, view menerjemahkan dan menampilkan hasil ke user.