Tutorial Yii 2 Pengenalan & Persiapan Awal (Install + “Hello World”)

Tutorial Yii 2 Pengenalan & Persiapan Awal (Install + “Hello World”)

Ringkasan singkat

Di step pertama ini kamu akan:

  1. Memastikan persyaratan lingkungan (PHP, Composer, database kalau perlu).
  2. Meng-install Yii2 Basic Application Template.
  3. Menjalankan aplikasi di mesin lokal.
  4. Membuat sebuah controller + view sederhana (Hello World).
  5. 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 ke htdocs lalu akses http://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 (misal SiteController.php).
  • models/ — Model (ActiveRecord, form models).
  • views/ — file view (subfolder sesuai controller, misal views/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 route hello/index. Di Yii, route default controller/action. Nanti kita aktifkan pretty URL supaya URL lebih rapi.


6. Catatan permissions & konfigurasi kecil

  • Pastikan runtime/ dan web/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:

  1. Mengaktifkan Pretty URLs (menghilangkan index.php?r=...).
  2. Konfigurasi Database + membuat Model ActiveRecord.
  3. CRUD generator dengan Gii (tool scaffolding).
  4. Auth dasar (login, register) dan RBAC sederhana.
  5. Struktur aplikasi lebih lanjut (module, komponen, event).

Leave a Reply

Your email address will not be published. Required fields are marked *