14 Mei 2014

Menampilkan Teks Sederhana di Yii2

Melanjutkan artikel saya mengenai Yii2 yakni Instal Yii2 via Composer, kali ini kita akan belajar cara menampilkan teks sederhana di Yii2. Sebelumnya Anda harus telah menginstal minimal PHP 5.4, Apache 2.2, Composer, dan Yii2.

Alur Kerja Aplikasi
Alur kerja aplikasi ini menggambarkan secara umum proses yang terjadi antara request user dan response aplikasi. Berikut alurnya:
USER ---request---> Action ---call---> View ---render---> Content
  ^                                                          v
  |_________________________response_________________________|
 
Dari alur di atas dapat dijelaskan bahwa user melakukan request ke Action yang berada di dalam Controller kemudian dari Action tersebut memanggil View untuk menampilkan (rendering) konten tampilan (misalnya HTML) kemudian hasil proses tersebut berupa response halaman web ke user.

Berikut istilah yang sering dijumpai di Yii Framework:
  • Request berupa bentuk penulisan URL (bisa mode POST/GET) yang berisi permintaan kepada aplikasi yang kemudian router aplikasi akan meneruskan ke controller dan action mana yang sesuai.
  • Action berada di dalam controller yang berupa suatu method dengan imbuhan kata 'action' sebelum nama method tersebut. Fungsi utamanya sebagai tempat umtuk mengeksekusi kode program tertentu.
  • View adalah bagian proses di dalam framework yang fungsi utamanya menampilkan data hasil pengolahan action method yang pada umumnya berupa kode untuk tampilan atau front-end (bisa HTML,PHP,JavaScript,CSS).
  • Controller adalah bagian kerja yang berfungsi sebagai pusat logika yang menjadi penghubung utama user dengan aplikasi. Di dalam controller terdapat method biasa dan action method. Controller berupa PHP class dengan akhiran kata 'Controller dengan memiliki penamaan yang sama antara nama kelas dan nama filenya.

Langkah-Langkah Pembuatan Aplikasi Sederhana Yii2
Dengan asumsi bahwa Anda telah berhasil menginstal Yii2 seperti yang telah dijelaskan langkahnya pada artikel Instal Yii2 via Composer, maka saatnya kita belajar membuat aplikasi yang dibangun di atas salah satu PHP Framework terbaik di dunia saat ini yakni Yii Framework (Yii2).

1.Membuat File atau Kelas Controller
Buatlah sebuah file PHP untuk pembuatan class controller. Ketentuan penamaan class-nya dan nama filenya harus sama dan diakhiri dengan imbuhan kata 'Controller'. Huruf di awal kata harus memakai huruf kapital. Misalnya kita membuat controller dengan nama LatihanController. Untuk itu nama filenya harus LatihanController.php dan file ini harus diletakan di dalam folder controllers.

Kode program di dalam file ini menggunakan statemen: namespace app\controllers; untuk menandakan file ini berada pada paket yang sama dengan controller lainnya yakni berada pada namespace: app\controllers. Selanjutnya class LatihanController ini merupakan kelas yang diwariskan (subclass) dari kelas Controller yang berada di dalam namespace: yii\web sehingga perlu ada statemen: use yii\web\Controller;.

2.Membuat Action Method di dalam Controller
Di dalam class LatihanController ini perlu ada action method yang digunakan sebagai tempat eksekusi kode program yang dipanggil melalui request dari user.

Ketentuan penamaan action method ini adalah nama method harus diawali dengan imbuhan kata 'action' dan menggunakan bentuk penulisan camelCase, jadi tiap huruf per kata yang digabungkan harus kapital semua kecuali huruf paling depan yakni huruf 'a' untuk kata action. Misalnya nama action methodnya adalah actionAyo(). Kita ingin memiliki default parameter sehingga bila user tidak melampirkan nilai parameternya, method tersebut telah memiliki nilai parameter. Untuk itu action methodnya menjadi actionAyo($pesan = 'Ayo belajar Yii2').

Di dalam method actionAyo() perlu adanya pemanggilan ke view melalui method render() yang dapat dilampirkan argumen nama file view tanpa akhiran .php dan data yang dilewatkan ke dalamnya dalam bentuk array. Hasil dari method render() ini perlu dikembalikan (return) ke method actionAyo() ini.

Untuk lebih jelasnya, script lengkap untuk file LatihanController.php ini adalah:

File: LatihanController.php
<?php
namespace app\controllers;
use yii\web\Controller;

class LatihanController extends Controller
{
    public function actionAyo($pesan = 'Ayo belajar Yii2')
    {
        return $this->render('hasil', ['pesan' => $pesan]);
    }
}


Sebelum lanjut ke pembuatan view, ada sebuah hal penting yang perlu diketahui yakni mengenai ID (Identitas) dari kelas Controller dan action method-nya. ID untuk Controller dan methodnya ini dipakai untuk keperluan tertentu misalnya untuk pemanggilan controller/action melalui router dari user request dan juga pembuatan folder view mengikuti penamaan ID controller.

Ketentuan penamaan ID untuk controller dan action-nya adalah sama yakni:
  1. ID harus menggunakan huruf kecil semua.
  2. Bila penamaan Controller atau action methodnya terdapat lebih dari satu kata yang digabungkan maka pada penulisan ID-nya dipisahkan dengan karakter dash (-).
  3. Kata 'Controller' dan 'action' tidak termasuk dalam penamaan ID sehingga kedua kata tersebut dihilangkan atau tidak dianggap.
Untuk lebih jelasnya, misalkan pada Controller dan action method yang telah kita buat di atas:
  1. Kelas LatihanController, ID-nya adalah latihan.
  2. Action method actionAyo(), ID-nya adalah ayo.
Misalkan ada controller dengan nama LatihanYiiController maka ID-nya adalah latihan-yii. Jika ada action method actionAyoBelajarYii() maka ID-nya adalah ayo-belajar-yii.

3.Membuat View untuk Tampilan
Setelah file controller dibuat, selanjutnya file view perlu dibuatkan. Ketentuannya adalah tiap file view yang dipanggil dari action method di dalam controller tertentu maka file view tersebut harus berada di dalam folder dengan nama folder ID controllernya. Sehingga jika file view: hasil.php dipanggil dari action method LatihanController::actionAyo() maka file tersebut dibuat di dalam folder: latihan dan folder latihan tersebut dibuat di dalam folder views (lengkapnya: views/latihan/hasil.php).

File view digunakan sebagai tempat penulisan kode program untuk urusan tampilan. Sehingga Anda dapat menuliskan script HTML/PHP/JavaScript/CSS di dalam file view ini. Untuk menghindari XSS attack, sebaiknya konten yang ingin ditampilkan di-filter dahulu menggunakan method Html::encode() yang diambil dari namespace: yii\helpers.

Hal penting lainnya adalah sebelumnya kita melampirkan sebagai argumen suatu variabel array yakni ['pesan' => $pesan] saat pemanggilan method render() di dalam action method LatihanController::actionAyo(). Variabel array tersebut dapat diakses di dalam view hasil (hasil.php). Sehingga kita bisa menggunakan variabel $pesan langsung di dalam file view tersebut.

Berikut ini contoh sederhana isi dari file view hasil.php:

File: hasil.php
<?php
use yii\helpers\Html;

echo '<h1>'.Html::encode($pesan).'</h1>';


Untuk mencoba aplikasi menampilkan teks sederhana di Yii2 yang telah kita buat, Anda perlu memanggilnya melalui web browser dengan bentuk URL request:
http://localhost/latihan-yii2/web/index.php?r=latihan/ayo
Hasil tampilan dari proses pemanggilan ini adalah:


Contoh tampilan Yii2 (memakai default parameter)


Perhatikan ID dari controller dan action methodnya setelah parameter r di atas yakni kombinasi ID controller/action (latihan/ayo). Jika kita menggunakan parameter URL seperti di atas maka default parameter untuk method actionAyo() yakni variabel $pesan berisi teks 'Ayo belajar Yii2'. Untuk lebih jelasnya silakan lihat kode program pada file LatihanController.php di atas.

Apabila Anda ingin mengganti teks pesannya dengan kalimat lain, tinggal tambahkan parameter: pesan (sesuai nama variabel parameter pada method actionAyo()). Contohnya misalnya kita ingin menampilkan kalimat: "Selamat belajar Yii Framework" maka URL request di atas perlu diganti menjadi:
http://localhost/latihan-yii2/web/index.php?r=latihan/ayo&pesan=Selamat+belajar+Yii+Framework
Berikut hasil dari request di atas:


Contoh tampilan Yii2 (override default parameter)


Demikian artikel mengenai pembuatan aplikasi berbasis Yii2 untuk menampilkan teks sederhana. Artikel ini agak panjang yang berisi penjelasan lumayan detil untuk memudahkan kita memahami pembuatan controller dan action methodnya di dalam aplikasi berbasis Yii2. Terima kasih telah meluangkan waktu untuk membaca artikel ini dan semoga bermanfaat.

(©) 2014 husnanw.blogspot.com

13 Mei 2014

Cara Mudah Instal Yii2 via Composer

Yii2 merupakan versi terbaru dari Yii Framework. Yii2 merupakan penyempurnaan dari versi sebelumnya yakni Yii 1.1. Yii2 merupakan PHP Framework modern dengan membawa best practices dari sisi pengembangan web development modern. Yii2 menggunakan fitur-fitur terbaru mulai dari PHP versi 5.4 oleh karena itu versi PHP minimal yang diperlukan untuk instalasi Yii2 adalah versi 5.4 (lebih baru lebih baik).

Sebelum Anda menggunakan Yii2 sebagai framework pengembangan aplikasi web, Anda dapat menginstalnya dengan dua cara yakni:

1. Install via Composer.
2. Install via download file arsip Yii2.

Dalam artikel ini dijelaskan secara singkat dan sederhana proses instalasi via Composer. Composer adalah Dependency Manager untuk aplikasi yang dibangun melalui PHP. Melalui Composer ini kebutuhan paket library atau extension untuk aplikasi PHP yang Anda bangun dapat terpenuhi dengan mudah.

Cara instalasi via Composer lebih direkomendasikan karena kemudahan dalam proses instalasi dan yang lebih penting lagi adalah kemudahan proses update Yii2 dan instalasi extensions berikut dependensinya dengan menggunakan sebuah perintah sederhana.

Sebelum melangkah lebih lanjut, pastikan Anda telah menginstal PHP versi 5.4 ke atas berikut webserver Apache atau Nginx dan tersedia koneksi internet karena instalasi Yii2 via Composer membutuhkan koneksi internet.

Berikut langkah-langkah instalasi Yii2 via Composer:

1. Install Composer
Jika Anda belum memiliki aplikasi Composer, silakan install dengan cara memberikan perintah berikut pada terminal shell Linux:
curl -s http://getcomposer.org/installer | php
Setelah itu agar aplikasi Composer dapat dijalankan via terminal secara global (bisa dari path mana saja), pindahkan dan rename file Composer (composer.phar) ke lokasi /usr/local/bin kemudian buat agar file tersebut dapat dieksekusi, yakni dengan memberikan perintah chmod pada file tersebut. Berikut perintahnya:
sudo mv composer.phar /usr/local/bin/composer
sudo chmod 777 /usr/local/bin/composer

2. Install Yii2
Setelah aplikasi Composer diinstal berdasarkan langkah 1 di atas, saatnya untuk instalasi aplikasi web berbasis Yii2. Instalasi ini akan menginstall semua paket yang diperlukan beserta dependensinya. Selain itu proses instalasi berikut akan membuat template aplikasi dasar (basic application template). Ketikan perintah berikut:
composer create-project --prefer-dist --stability=dev yiisoft/yii2-app-basic htdocs/latihan-yii2
Bagian perintah di atas yang perlu Anda perhatikan adalah bagian terakhir. Di atas tertulis htdocs/latihan-yii2 artinya Composer akan menginstall Yii2 di dalam folder htdocs/latihan-yii2 dimana folder htdocs berada di dalam folder user account Linux Anda. Jika lokasi webroot aplikasi web Anda misalnya berada di /var/www maka ganti bagian perintah htdocs/latihan-yii2 menjadi /var/www/latihan-yii2.

Selanjutnya Anda bisa mencoba apakah hasil instalasi Yii2 ini berjalan dengan mengetikan perintah berikut pada web browser:
http://localhost/latihan-yii2/web/
Berikut ini contoh tampilan bila proses instalasi Yii2 ini berhasil:


Yii2 Basic Application Template


Demikian penjelasan saya mengenai instalasi Yii2 via Composer, semoga bermanfaat bagi kita semua.

(©) 2014 husnanw.blogspot.com