Laravel

Project Init

Cara membuat project Laravel baru, konfigurasi .env, generate key, dan setup layout dasar.

Step 1 – Install Laravel: Buat project Laravel baru.
📄snippet
BASH
# Install via Composer
composer create-project laravel/laravel project-name

# Atau via Laravel Installer
composer global require laravel/installer
laravel new project-name

# Masuk ke project
cd project-name

# Generate app key
php artisan key:generate

# Jalankan server
php artisan serve
Step 2 – Konfigurasi .env: Sesuaikan nama app, timezone, koneksi database, dan URL di file .env.
📄snippet
INI
APP_NAME="My App"
APP_ENV=local
APP_KEY=base64:...
APP_DEBUG=true
APP_URL=http://localhost

APP_TIMEZONE=Asia/Jakarta
APP_LOCALE=id

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=myapp
DB_USERNAME=root
DB_PASSWORD=
Step 3 – Layout Dasar: Buat folder layouts/ di dalam resources/views/ dan buat file app.blade.php sebagai layout utama.
📄snippet
HTML
<!-- resources/views/layouts/app.blade.php -->

<!DOCTYPE html>
<html>
<head>
    <title>@yield('title')</title>
</head>
<body>

@include('subs.header')

<div class="container">
    @yield('content')
</div>

@include('subs.footer')

</body>
</html>
Step 4 – Sub Views: Pisahkan komponen layout supaya rapi dan reusable.
📄snippet
TXT
resources/views/subs/
├── head.blade.php
├── header.blade.php
├── sidebar.blade.php
├── footer.blade.php
└── footer-scripts.blade.php
Step 5 – Halaman Pertama: Extend layout utama di halaman baru menggunakan @extends dan @section.
📄snippet
PHP
@extends('layouts.app')

@section('title', 'Dashboard')

@section('content')
    <h1>Dashboard</h1>
@endsection
Step 6 – Routes: Daftarkan semua halaman di routes/web.php.
📄snippet
PHP
use Illuminate\Support\Facades\Route;

Route::get('/', function () {
    return view('pages.dashboard');
})->name('dashboard');

Route::prefix('laravel')->group(function () {
    Route::get('/init', function () {
        return view('pages.laravel.init');
    });

    Route::get('/auth', function () {
        return view('pages.laravel.auth');
    });

    Route::get('/database', function () {
        return view('pages.laravel.database');
    });
});