Struktur Dasar Laravel & Project Setup (Composer, Direktori, .env, Konfigurasi Dasar)

Struktur Dasar Laravel & Project Setup (Composer, Direktori, .env, Konfigurasi Dasar)

Struktur Dasar Laravel & Project Setup (Composer, Direktori, .env, Konfigurasi Dasar)

Judul & Tujuan Pertemuan

  • Memahami struktur folder Laravel
  • Mengerti fungsi Composer dalam Laravel
  • Mengatur konfigurasi dasar, khususnya file .env
Struktur Dasar Laravel & Project Setup (Composer, Direktori, .env, Konfigurasi Dasar)

Alur Pengembangan Laravel

  1. Gunakan Composer untuk instalasi & dependency
  2. Struktur folder terorganisir: app, routes, config, dll.
  3. Artisan CLI untuk bantu pembangunan server side code
  4. File .env menentukan konfigurasi environment
Struktur Dasar Laravel & Project Setup (Composer, Direktori, .env, Konfigurasi Dasar)

Composer - Apa dan Kenapa?

  • Dependency manager untuk PHP
  • Mengatur paket eksternal yang dibutuhkan Laravel
  • Memudahkan update dan autoload class

Contoh perintah pemasangan Laravel:

composer create-project --prefer-dist laravel/laravel nama-project
Struktur Dasar Laravel & Project Setup (Composer, Direktori, .env, Konfigurasi Dasar)

Perintah Dasar Composer

  • composer install : Install paket dari composer.json
  • composer update : Update paket ke versi terbaru
  • composer require vendor/package : Menambah paket baru
Struktur Dasar Laravel & Project Setup (Composer, Direktori, .env, Konfigurasi Dasar)

Struktur Folder Laravel Overview

Beberapa folder utama:

  • app/ — Logika bisnis dan model
  • bootstrap/ — Inisialisasi framework
  • config/ — File konfigurasi
  • database/ — Migration & seed
  • public/ — Root website
  • resources/ — View blade & assets
  • routes/ — Mendefinisikan rute aplikasi
  • storage/ — Cache, logs, upload
  • vendor/ — Package Composer
Struktur Dasar Laravel & Project Setup (Composer, Direktori, .env, Konfigurasi Dasar)

Folder app/

app/ adalah pusat logika aplikasi:

  • Controller
  • Model
  • Middleware
  • Request
Struktur Dasar Laravel & Project Setup (Composer, Direktori, .env, Konfigurasi Dasar)

Folder bootstrap/

  • Berisi file app.php
  • Inisialisasi framework dan melakukan bootstrap aplikasi
Struktur Dasar Laravel & Project Setup (Composer, Direktori, .env, Konfigurasi Dasar)

Folder config/

File konfigurasi utama aplikasi seperti:

  • app.php — konfigurasi umum
  • database.php — koneksi database
Struktur Dasar Laravel & Project Setup (Composer, Direktori, .env, Konfigurasi Dasar)

Folder database/

  • Berisi migration dan seeders
  • File migration digunakan untuk membentuk struktur database
Struktur Dasar Laravel & Project Setup (Composer, Direktori, .env, Konfigurasi Dasar)

Folder public/

  • Folder yang dapat diakses publik
  • Menyimpan asset seperti JS, CSS, gambar
  • File index.php berada di sini, pintu masuk aplikasi web
Struktur Dasar Laravel & Project Setup (Composer, Direktori, .env, Konfigurasi Dasar)

Folder resources/

  • Tempat template blade dan asset front-end
Struktur Dasar Laravel & Project Setup (Composer, Direktori, .env, Konfigurasi Dasar)

Folder routes/

  • Mendefinisikan route URL aplikasi
  • Contoh file:
    • web.php untuk route web biasa
    • api.php untuk route API
Struktur Dasar Laravel & Project Setup (Composer, Direktori, .env, Konfigurasi Dasar)

Folder storage/

  • Menyimpan cache, logs, dan file upload user
Struktur Dasar Laravel & Project Setup (Composer, Direktori, .env, Konfigurasi Dasar)

Folder tests/

  • Unit testing dan feature testing aplikasi
Struktur Dasar Laravel & Project Setup (Composer, Direktori, .env, Konfigurasi Dasar)

Folder vendor/

  • Menyimpan semua package dari Composer
  • Jangan diubah manual
Struktur Dasar Laravel & Project Setup (Composer, Direktori, .env, Konfigurasi Dasar)

Rangkuman Struktur Folder

Memahami fungsi umum folder memudahkan navigasi kode dan pengembangan

Struktur Dasar Laravel & Project Setup (Composer, Direktori, .env, Konfigurasi Dasar)

Struktur internal app/ (bagian pertama)

  • Http/Controllers — Controller aplikasi
  • Http/Middleware — Filter request HTTP
Struktur Dasar Laravel & Project Setup (Composer, Direktori, .env, Konfigurasi Dasar)

Struktur internal app/ (bagian kedua)

  • Models — Representasi tabel database
  • Providers — Provider layanan, bootstrap aplikasi
Struktur Dasar Laravel & Project Setup (Composer, Direktori, .env, Konfigurasi Dasar)

Praktik Membuat Controller dengan Artisan

Perintah artisan:

php artisan make:controller NamaController

Contoh membuat controller bernama UserController:

php artisan make:controller UserController
Struktur Dasar Laravel & Project Setup (Composer, Direktori, .env, Konfigurasi Dasar)

Instalasi Laravel dengan Composer

Perintah instalasi project baru:

composer create-project --prefer-dist laravel/laravel nama_project

Setelah selesai, masuk folder:

cd nama_project
Struktur Dasar Laravel & Project Setup (Composer, Direktori, .env, Konfigurasi Dasar)

Struktur Project Setelah Instalasi

Folder yang muncul sesuai struktur Laravel standar yang sudah dijelaskan sebelumnya.

Struktur Dasar Laravel & Project Setup (Composer, Direktori, .env, Konfigurasi Dasar)

Konfigurasi Database di .env

Contoh isi .env bagian database:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=nama_database
DB_USERNAME=user_database
DB_PASSWORD=password_database

Ubah sesuai konfigurasi lokal

Struktur Dasar Laravel & Project Setup (Composer, Direktori, .env, Konfigurasi Dasar)

Fungsi File .env

  • Menyimpan variabel konfigurasi aplikasi
  • Membedakan environment (local, production, testing)
  • Tidak dipush ke repository git biasa (tertera di .gitignore)
Struktur Dasar Laravel & Project Setup (Composer, Direktori, .env, Konfigurasi Dasar)

Cara Laravel Menggunakan .env

  • File .env dibaca saat bootstrap aplikasi
  • Variabelnya bisa diakses via fungsi env('VAR_NAME')
  • Mendukung konfigurasi dinamis dan aman
Struktur Dasar Laravel & Project Setup (Composer, Direktori, .env, Konfigurasi Dasar)

Praktik Mengubah Konfigurasi di .env

Langkah:

  1. Buka file .env
  2. Edit informasi DB sesuai server lokal
  3. Simpan dan jalankan aplikasi:
php artisan serve
  1. Cek koneksi database lewat migrasi
Struktur Dasar Laravel & Project Setup (Composer, Direktori, .env, Konfigurasi Dasar)

Keamanan File .env

  • Jangan commit file .env ke repositori
  • Gunakan .env.example sebagai template
  • Saat deployment buat file .env baru di server
Struktur Dasar Laravel & Project Setup (Composer, Direktori, .env, Konfigurasi Dasar)

Konfigurasi File config/app.php

Contoh isi bagian app name:

return [
    'name' => env('APP_NAME', 'Laravel'),
    // konfigurasi lain...
];

Variabel APP_NAME diambil dari .env

Struktur Dasar Laravel & Project Setup (Composer, Direktori, .env, Konfigurasi Dasar)

Mengubah Environment APP_ENV dan Debug

  • Di .env
APP_ENV=local
APP_DEBUG=true
  • APP_DEBUG aktifkan untuk menampilkan error saat development