Berikut adalah konten **"Belajar Laravel 11"** yang mencakup pengenalan, fitur terbaru, cara instalasi, dan panduan dasar.
---
# **Belajar Laravel 11: Panduan Lengkap untuk Pemula**
## **1. Apa Itu Laravel 11?**
Laravel 11 adalah versi terbaru dari framework PHP Laravel yang dirancang untuk membangun aplikasi web modern dengan cepat dan efisien. Laravel dikenal karena **sintaks yang elegan**, **kemudahan pengelolaan database**, serta dukungan fitur-fitur terbaru untuk pengembangan aplikasi berbasis web.
---
## **2. Fitur Baru di Laravel 11**
Laravel 11 membawa beberapa perubahan dan fitur baru yang meningkatkan efisiensi dalam pengembangan aplikasi. Berikut adalah beberapa fitur unggulannya:
✅ **Tanpa File `app/Providers` Default** → Struktur lebih bersih.
✅ **Tanpa File `app/Console/Kernel.php` & `app/Http/Kernel.php`** → Kernel diatur dalam satu tempat.
✅ **Meningkatkan Performa dengan Optimasi Query**.
✅ **Dukungan Routing yang Lebih Simpel** dengan Auto Discovery.
✅ **Framework Lebih Minimalis** → Mengurangi boilerplate code yang tidak perlu.
---
## **3. Cara Instalasi Laravel 11**
Sebelum memulai, pastikan Anda sudah menginstal **Composer** dan **PHP 8.2 atau lebih baru**.
### **Langkah Instalasi Laravel 11:**
1️⃣ **Buka Terminal atau Command Prompt**, lalu jalankan:
```bash
composer create-project laravel/laravel project-laravel11
cd project-laravel11
php artisan serve
```
2️⃣ **Akses Laravel di Browser:**
Buka `http://127.0.0.1:8000` di browser. Jika berhasil, Anda akan melihat halaman default Laravel.
---
## **4. Struktur Folder Laravel 11**
Berikut adalah struktur utama dalam Laravel 11:
📂 **app/** → Berisi model & logika aplikasi.
📂 **bootstrap/** → Inisialisasi aplikasi Laravel.
📂 **config/** → Pengaturan konfigurasi aplikasi.
📂 **database/** → Berisi migration, seeder, dan model database.
📂 **routes/** → Berisi rute aplikasi.
📂 **resources/** → Berisi file frontend seperti Blade, CSS, dan JavaScript.
📂 **public/** → Folder untuk file statis seperti gambar, CSS, dan JS.
---
## **5. Membuat Routing di Laravel 11**
Semua routing Laravel 11 didefinisikan di file `routes/web.php`.
📌 **Contoh routing sederhana:**
```php
use Illuminate\Support\Facades\Route;
Route::get('/', function () {
return view('welcome');
});
Route::get('/about', function () {
return "Ini halaman About";
});
```
🔹 **`Route::get()`** digunakan untuk mendefinisikan route GET.
🔹 **`view('welcome')`** akan me-render halaman Blade `welcome.blade.php`.
---
## **6. Membuat Controller di Laravel 11**
Laravel menggunakan **MVC (Model-View-Controller)**. Anda bisa membuat controller dengan perintah:
```bash
php artisan make:controller HomeController
```
📌 **Contoh Controller (`app/Http/Controllers/HomeController.php`)**:
```php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class HomeController extends Controller {
public function index() {
return view('home');
}
}
```
📌 **Tambahkan route untuk mengakses controller ini di `routes/web.php`**:
```php
use App\Http\Controllers\HomeController;
Route::get('/home', [HomeController::class, 'index']);
```
💡 **Sekarang buka `http://127.0.0.1:8000/home` di browser untuk melihat halaman yang dipanggil controller.**
---
## **7. Menggunakan Blade Template di Laravel 11**
Blade adalah sistem template bawaan Laravel yang memungkinkan penggunaan kode dinamis dalam HTML.
📌 **Contoh Blade Template (`resources/views/home.blade.php`)**
```html
<!DOCTYPE html>
<html lang="id">
<head>
<title>Home - Laravel 11</title>
</head>
<body>
<h1>Selamat Datang di Laravel 11</h1>
<p>Belajar Laravel 11 sangat mudah dan menyenangkan!</p>
</body>
</html>
```
🔹 **Blade memungkinkan penggunaan `@yield`, `@section`, `@foreach`, dan `@if`** untuk membuat tampilan lebih dinamis.
---
## **8. Menghubungkan Laravel 11 dengan Database**
Laravel menggunakan **Eloquent ORM** untuk mengelola database dengan mudah.
📌 **Edit file `.env` untuk mengatur koneksi database:**
```env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel11
DB_USERNAME=root
DB_PASSWORD=
```
📌 **Jalankan migration untuk membuat tabel database:**
```bash
php artisan migrate
```
💡 **Ini akan membuat tabel secara otomatis berdasarkan migration yang sudah ada.**
---
## **9. Menampilkan Data dari Database di Laravel 11**
📌 **Buat Model untuk database:**
```bash
php artisan make:model Post -m
```
📌 **Edit Model (`app/Models/Post.php`)**:
```php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Post extends Model {
use HasFactory;
protected $fillable = ['title', 'content'];
}
```
📌 **Buat Controller untuk menampilkan data (`app/Http/Controllers/PostController.php`)**:
```php
namespace App\Http\Controllers;
use App\Models\Post;
use Illuminate\Http\Request;
class PostController extends Controller {
public function index() {
$posts = Post::latest()->get();
return view('posts.index', compact('posts'));
}
}
```
📌 **Tambahkan Route di `routes/web.php`**:
```php
use App\Http\Controllers\PostController;
Route::get('/posts', [PostController::class, 'index']);
```
📌 **Tampilkan Data di Blade (`resources/views/posts/index.blade.php`)**:
```html
@foreach ($posts as $post)
<h2>{{ $post->title }}</h2>
<p>{{ $post->content }}</p>
@endforeach
```
🚀 **Sekarang data dari database sudah bisa ditampilkan di halaman Laravel!**
---
## **10. Deployment Laravel 11 ke Hosting atau VPS**
Setelah selesai mengembangkan, Anda bisa meng-upload proyek ke **hosting atau VPS** dengan langkah berikut:
1️⃣ **Jalankan perintah build aplikasi:**
```bash
composer install --optimize-autoloader --no-dev
```
2️⃣ **Setel file `.env` di server dengan database hosting**
3️⃣ **Jalankan perintah untuk memperbarui cache:**
```bash
php artisan config:cache
php artisan route:cache
php artisan view:cache
```
4️⃣ **Gunakan `php artisan serve` atau setting domain di Apache/Nginx**
---
## **Kesimpulan**
Laravel 11 adalah **framework PHP yang powerful dan modern** untuk membangun aplikasi web dengan cepat. Dengan fitur terbaru seperti **struktur lebih ringan, optimasi performa, dan sistem routing yang lebih sederhana**, Laravel 11 cocok digunakan untuk berbagai proyek web.
🔥 **Selanjutnya:** Coba buat aplikasi Laravel 11 pertama Anda dan mulai eksplorasi lebih dalam! Jika ada pertanyaan, silakan tanyakan. 😊🚀