Tutorial Yii 2 Pengenalan & Persiapan Awal (Install + “Hello World”)
Ringkasan singkat
Di step pertama ini kamu akan:
- Memastikan persyaratan lingkungan (PHP, Composer, database kalau perlu).
- Meng-install Yii2 Basic Application Template.
- Menjalankan aplikasi di mesin lokal.
- Membuat sebuah controller + view sederhana (Hello World).
- Mengetahui struktur folder dasar proyek.
1. Persyaratan (Prerequisites)
Sebelum mulai, siapkan:
- PHP (disarankan versi 8.0+ — cek requirements Yii2 versi yang kamu pakai; banyak proyek sekarang berjalan baik di PHP 8+).
Cek:php -v
- Composer (dependency manager PHP).
Cek:composer -V
- Web server atau bisa pakai built-in PHP server untuk development (
php -S
). - (Opsional untuk nanti) MySQL/MariaDB atau PostgreSQL jika ingin pakai database.
Jika pakai Windows: bisa gunakan XAMPP/WAMP; untuk Linux/macOS biasanya install PHP + Composer via package manager.
2. Meng-install Yii2 Basic Project
Buka terminal (Linux/macOS) atau PowerShell (Windows) lalu jalankan:
# pindah ke folder tempat mau taruh project, misal ~/projects
cd ~/projects
# install Yii2 basic template
composer create-project --prefer-dist yiisoft/yii2-app-basic basic
Perintah di atas akan membuat folder basic
yang berisi template aplikasi Yii2 Basic.
Jika Composer belum di-setup, install dulu Composer dari getcomposer.org.
3. Menjalankan aplikasi (development)
Masuk ke direktori project lalu jalankan built-in PHP server:
cd basic
# jalankan built-in PHP web server (development)
php -S localhost:8080 -t web
Buka browser ke: http://localhost:8080/
Kamu akan melihat halaman welcome Yii2 (welcome page) jika semuanya benar.
Alternatif (Windows + XAMPP): copy folder
basic
kehtdocs
lalu akseshttp://localhost/basic/web/
.
4. Struktur folder dasar (yang penting untuk mulai)
Di dalam folder basic
ada beberapa folder utama:
web/
— document root; file entry:web/index.php
. (Web server harus mengarahkan ke folder ini.)config/
— file konfigurasi (web.php
,params.php
,db.php
).controllers/
— tempat Controller (misalSiteController.php
).models/
— Model (ActiveRecord, form models).views/
— file view (subfolder sesuai controller, misalviews/site/index.php
).runtime/
&web/assets/
— cache/temp; beri permission write di Linux (chmod -R 0777 runtime web/assets
saat dev).vendor/
— dependensi Composer.
5. Membuat Controller + View pertama (Hello World)
Contoh membuat controller baru bernama HelloController
dan view index
.
a) Buat file controller
Buat file controllers/HelloController.php
isi:
<?php
namespace app\controllers;
use yii\web\Controller;
class HelloController extends Controller
{
public function actionIndex()
{
// bisa kirim data ke view lewat array
$message = "Halo dari Yii2 — Hello World!";
return $this->render('index', ['message' => $message]);
}
}
b) Buat view
Buat folder views/hello
lalu file views/hello/index.php
isi:
<?php
/** @var string $message */
use yii\helpers\Html;
?>
<h1><?= Html::encode($message) ?></h1>
<p>Contoh view sederhana di Yii2.</p>
c) Akses halaman
Dengan server dev (php -S localhost:8080 -t web
) buka URL:
http://localhost:8080/index.php?r=hello
Jika sukses, akan muncul tulisan Halo dari Yii2 — Hello World!
.
Penjelasan singkat:
r=hello
berarti routehello/index
. Di Yii, route defaultcontroller/action
. Nanti kita aktifkan pretty URL supaya URL lebih rapi.
6. Catatan permissions & konfigurasi kecil
- Pastikan
runtime/
danweb/assets/
bisa ditulis oleh web server:chmod -R 0777 runtime web/assets
(Hanya untuk development; di production atur permission lebih aman.) - File konfigurasi DB ada di
config/db.php
. Untuk saat ini tidak perlu diubah (kecuali kamu mau pakai database dari awal).
7. Apa yang akan dibahas di Step 2 (preview)
Di step selanjutnya (kamu minta nanti), saya akan menjelaskan dan mengerjakan secara bertahap:
- Mengaktifkan Pretty URLs (menghilangkan
index.php?r=...
). - Konfigurasi Database + membuat Model ActiveRecord.
- CRUD generator dengan Gii (tool scaffolding).
- Auth dasar (login, register) dan RBAC sederhana.
- Struktur aplikasi lebih lanjut (module, komponen, event).