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');
});
});