Ticker

6/recent/ticker-posts

Header Ads Widget

Mengenal Laravel 13: Fitur Terbaru, Kebutuhan Sistem, dan Cara Instalasinya

Laravel 13 adalah versi terbaru dari framework Laravel yang digunakan untuk membuat aplikasi web berbasis PHP. Framework ini banyak digunakan karena memiliki struktur yang rapi, dokumentasi yang lengkap, dan ekosistem yang besar.

Pada versi Laravel 13, Laravel membawa beberapa pembaruan penting. Pembaruan tersebut mencakup kebutuhan PHP terbaru, fitur AI, JSON:API Resources, keamanan request yang lebih baik, queue routing, dan dukungan PHP attributes yang lebih luas.

Artikel ini akan membahas pengertian Laravel 13, fitur barunya, kebutuhan sistem, cara instalasi, struktur folder, routing dasar, controller, view, migration, dan contoh membuat halaman sederhana.

Apa Itu Laravel 13?

Laravel 13 adalah versi major Laravel yang dirilis untuk mengikuti kebutuhan pengembangan aplikasi web modern. Laravel tetap memakai konsep MVC atau Model View Controller. Konsep ini membantu developer memisahkan logika aplikasi, tampilan, dan pengelolaan data.

Dengan Laravel, kita dapat membuat aplikasi seperti website company profile, sistem informasi, aplikasi kasir, REST API, dashboard admin, e-commerce, dan aplikasi berbasis database lainnya.

Laravel 13 cocok digunakan oleh developer yang ingin membuat aplikasi web dengan struktur kode yang lebih rapi dan mudah dikembangkan.

Kebutuhan Sistem Laravel 13

Sebelum menginstal Laravel 13, pastikan komputer atau server sudah memenuhi kebutuhan sistem. Laravel 13 membutuhkan PHP versi 8.3 atau lebih baru.

Berikut kebutuhan umum untuk menjalankan Laravel 13:

  • PHP minimal versi 8.3
  • Composer
  • Database seperti MySQL, MariaDB, PostgreSQL, SQLite, atau SQL Server
  • Web server seperti Apache, Nginx, Laravel Herd, Laravel Sail, XAMPP, Laragon, atau Valet
  • Node.js dan NPM jika menggunakan frontend modern

Laravel 13 juga membutuhkan beberapa ekstensi PHP seperti Ctype, cURL, DOM, Fileinfo, Filter, Hash, Mbstring, OpenSSL, PCRE, PDO, Session, Tokenizer, dan XML.

Fitur Terbaru Laravel 13

Laravel 13 membawa beberapa fitur penting yang mendukung pengembangan aplikasi modern. Berikut beberapa fitur yang perlu diketahui.

1. Laravel AI SDK

Laravel 13 memperkenalkan Laravel AI SDK sebagai fitur first-party. Fitur ini membantu developer membuat aplikasi yang memakai AI dengan cara yang lebih terstruktur.

Dengan Laravel AI SDK, developer dapat membuat fitur text generation, agent, embeddings, audio, image generation, dan vector store integration menggunakan gaya penulisan khas Laravel.

Contoh sederhana penggunaan agent:

use App\Ai\Agents\SalesCoach;

$response = SalesCoach::make()->prompt('Analisa data penjualan bulan ini');

return (string) $response;

Fitur ini berguna untuk membuat chatbot, pencarian semantik, asisten otomatis, ringkasan dokumen, dan fitur rekomendasi berbasis AI.

2. JSON:API Resources

Laravel 13 menyediakan dukungan JSON:API Resources secara resmi. Fitur ini memudahkan developer membuat response API dengan format yang lebih standar.

JSON:API Resources membantu mengatur struktur data, relationship, link, sparse fieldsets, dan response header yang sesuai dengan standar JSON:API.

Fitur ini cocok digunakan ketika kita membuat REST API untuk aplikasi mobile, frontend JavaScript, atau integrasi antar sistem.

3. Request Forgery Protection Yang Lebih Baik

Laravel 13 meningkatkan perlindungan terhadap request palsu melalui middleware PreventRequestForgery. Fitur ini memperkuat proses validasi request dan tetap mendukung perlindungan CSRF berbasis token.

Dengan fitur ini, aplikasi menjadi lebih aman dari request yang tidak sah.

4. Queue Routing By Class

Laravel 13 menambahkan fitur Queue::route. Fitur ini digunakan untuk menentukan connection dan queue default berdasarkan class job tertentu.

Contoh penggunaan Queue::route:

use App\Jobs\ProcessPodcast;
use Illuminate\Support\Facades\Queue;

Queue::route(ProcessPodcast::class, connection: 'redis', queue: 'podcasts');

Dengan fitur ini, pengaturan queue menjadi lebih jelas dan terpusat.

5. Dukungan PHP Attributes Yang Lebih Luas

Laravel 13 memperluas dukungan PHP attributes. Developer dapat menulis konfigurasi tertentu langsung pada class atau method.

Contoh penggunaan attribute middleware pada controller:

use Illuminate\Routing\Attributes\Middleware;

#[Middleware('auth')]
class DashboardController
{
    public function index()
    {
        return view('dashboard');
    }
}

Dengan cara ini, konfigurasi tertentu dapat ditempatkan lebih dekat dengan kode yang digunakan.

6. JSON Error Untuk Route API

Pada aplikasi Laravel 13 baru, route API dapat mengembalikan error dalam bentuk JSON secara default. Hal ini membantu developer saat membuat API dan mengujinya melalui Postman, curl, atau frontend JavaScript.

Contoh konfigurasi di file bootstrap/app.php:

use Illuminate\Http\Request;

$exceptions->shouldRenderJsonWhen(
    fn (Request $request) => $request->is('api/*') || $request->expectsJson(),
);

7. Helper foreignUuidFor Pada Migration

Laravel 13 menambahkan helper foreignUuidFor untuk membantu membuat foreign key berbasis UUID.

Contoh penggunaan:

$table->foreignUuidFor(User::class)->constrained();

Fitur ini berguna jika aplikasi memakai UUID sebagai primary key.

Cara Instal Laravel 13

Laravel 13 dapat diinstal melalui Composer atau Laravel Installer. Pastikan Composer sudah terpasang di komputer.

1. Cek Versi PHP

Jalankan perintah berikut untuk mengecek versi PHP:

php -v

Pastikan versi PHP yang digunakan minimal PHP 8.3.

2. Cek Composer

Jalankan perintah berikut untuk mengecek Composer:

composer -V

Jika Composer belum terpasang, instal Composer terlebih dahulu dari website resminya.

3. Instal Laravel 13 Menggunakan Composer

Gunakan perintah berikut untuk membuat project Laravel 13 baru:

composer create-project laravel/laravel belajar-laravel13

Masuk ke folder project:

cd belajar-laravel13

Jalankan server Laravel:

php artisan serve

Setelah itu buka browser dan akses alamat berikut:

http://127.0.0.1:8000

Jika halaman Laravel tampil, berarti instalasi berhasil.

Cara Instal Laravel 13 Menggunakan Laravel Installer

Selain Composer, kita juga dapat memakai Laravel Installer. Update Laravel Installer terlebih dahulu.

composer global update laravel/installer

Lalu buat project baru:

laravel new belajar-laravel13

Masuk ke folder project:

cd belajar-laravel13

Jalankan server:

php artisan serve

Struktur Folder Laravel 13

Setelah instalasi selesai, Laravel akan membuat beberapa folder utama. Berikut penjelasan singkatnya.

  • app: berisi logic utama aplikasi seperti model, controller, job, dan service.
  • bootstrap: berisi file awal untuk menjalankan aplikasi.
  • config: berisi file konfigurasi aplikasi.
  • database: berisi migration, seeder, dan factory.
  • public: berisi file index.php dan aset publik.
  • resources: berisi view, file CSS, dan file JavaScript.
  • routes: berisi file routing aplikasi.
  • storage: berisi cache, log, dan file upload.
  • tests: berisi file testing aplikasi.
  • vendor: berisi package hasil instalasi Composer.

Mengenal Route Pada Laravel 13

Route digunakan untuk menentukan alamat URL dan proses yang akan dijalankan. Route web biasanya ditulis di file routes/web.php.

Contoh route sederhana:

use Illuminate\Support\Facades\Route;

Route::get('/', function () {
    return 'Selamat datang di Laravel 13';
});

Kode di atas akan menampilkan teks ketika user membuka halaman utama website.

Membuat Route Dengan View

View digunakan untuk menampilkan halaman HTML. File view disimpan di folder resources/views.

Buat file baru dengan nama belajar.blade.php di folder resources/views.

Isi file belajar.blade.php:

<!DOCTYPE html>
<html>
<head>
    <title>Belajar Laravel 13</title>
</head>
<body>
    <h1>Belajar Laravel 13</h1>
    <p>Ini adalah halaman pertama saya di Laravel 13.</p>
</body>
</html>

Lalu tambahkan route berikut di file routes/web.php:

use Illuminate\Support\Facades\Route;

Route::get('/belajar', function () {
    return view('belajar');
});

Jalankan server Laravel dan buka alamat berikut:

http://127.0.0.1:8000/belajar

Membuat Controller Di Laravel 13

Controller digunakan untuk mengatur logic aplikasi. Dengan controller, kode route menjadi lebih bersih.

Buat controller baru dengan perintah berikut:

php artisan make:controller PageController

Buka file app/Http/Controllers/PageController.php, lalu isi seperti berikut:

namespace App\Http\Controllers;

class PageController extends Controller
{
    public function index()
    {
        return view('home');
    }

    public function about()
    {
        return view('about');
    }
}

Tambahkan route untuk controller:

use App\Http\Controllers\PageController;
use Illuminate\Support\Facades\Route;

Route::get('/', [PageController::class, 'index']);
Route::get('/about', [PageController::class, 'about']);

Dengan cara ini, route hanya mengarahkan request ke controller. Logic aplikasi ditulis di dalam controller.

Membuat View Home Dan About

Buat file home.blade.php di folder resources/views.

<!DOCTYPE html>
<html>
<head>
    <title>Home Laravel 13</title>
</head>
<body>
    <h1>Halaman Home</h1>
    <p>Selamat datang di website Laravel 13.</p>
</body>
</html>

Buat file about.blade.php di folder resources/views.

<!DOCTYPE html>
<html>
<head>
    <title>About Laravel 13</title>
</head>
<body>
    <h1>Halaman About</h1>
    <p>Website ini dibuat menggunakan Laravel 13.</p>
</body>
</html>

Mengatur Database Di Laravel 13

Laravel menggunakan file .env untuk menyimpan konfigurasi penting, termasuk database. Buka file .env lalu sesuaikan konfigurasi database.

Contoh konfigurasi database MySQL:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=belajar_laravel13
DB_USERNAME=root
DB_PASSWORD=

Buat database dengan nama belajar_laravel13 di MySQL. Setelah itu, Laravel dapat terhubung dengan database tersebut.

Membuat Migration Di Laravel 13

Migration digunakan untuk membuat dan mengubah struktur tabel database. Dengan migration, struktur database dapat dikelola melalui kode.

Buat migration untuk tabel posts:

php artisan make:migration create_posts_table

Buka file migration yang dibuat di folder database/migrations, lalu isi seperti berikut:

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

return new class extends Migration
{
    public function up(): void
    {
        Schema::create('posts', function (Blueprint $table) {
            $table->id();
            $table->string('title');
            $table->text('content');
            $table->timestamps();
        });
    }

    public function down(): void
    {
        Schema::dropIfExists('posts');
    }
};

Jalankan migration:

php artisan migrate

Jika berhasil, Laravel akan membuat tabel posts di database.

Membuat Model Post

Model digunakan untuk berinteraksi dengan tabel database. Buat model Post dengan perintah berikut:

php artisan make:model Post

Buka file app/Models/Post.php, lalu isi seperti berikut:

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Post extends Model
{
    protected $fillable = [
        'title',
        'content',
    ];
}

Properti fillable digunakan untuk menentukan field yang boleh diisi secara massal.

Membuat Data Post Sederhana

Untuk mencoba model, kita dapat memakai route sederhana. Tambahkan kode berikut di file routes/web.php:

use App\Models\Post;
use Illuminate\Support\Facades\Route;

Route::get('/post-create', function () {
    Post::create([
        'title' => 'Belajar Laravel 13',
        'content' => 'Ini adalah contoh isi artikel Laravel 13.',
    ]);

    return 'Data post berhasil ditambahkan';
});

Buka alamat berikut di browser:

http://127.0.0.1:8000/post-create

Jika berhasil, data baru akan masuk ke tabel posts.

Menampilkan Data Dari Database

Setelah data masuk ke database, kita dapat menampilkannya di halaman website.

Tambahkan route berikut:

use App\Models\Post;
use Illuminate\Support\Facades\Route;

Route::get('/posts', function () {
    $posts = Post::latest()->get();

    return view('posts', compact('posts'));
});

Buat file posts.blade.php di folder resources/views.

<!DOCTYPE html>
<html>
<head>
    <title>Data Post Laravel 13</title>
</head>
<body>

    <h1>Data Post</h1>

    @foreach ($posts as $post)
        <h2>{{ $post->title }}</h2>
        <p>{{ $post->content }}</p>
        <hr>
    @endforeach

</body>
</html>

Buka alamat berikut:

http://127.0.0.1:8000/posts

Laravel akan menampilkan semua data dari tabel posts.

Membuat Form Input Data

Laravel juga dapat digunakan untuk membuat form input data. Buat route untuk menampilkan form dan menyimpan data.

use App\Models\Post;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;

Route::get('/posts/create', function () {
    return view('post-create');
});

Route::post('/posts/store', function (Request $request) {
    $request->validate([
        'title' => 'required',
        'content' => 'required',
    ]);

    Post::create([
        'title' => $request->title,
        'content' => $request->content,
    ]);

    return redirect('/posts');
});

Buat file post-create.blade.php di folder resources/views.

<!DOCTYPE html>
<html>
<head>
    <title>Tambah Post Laravel 13</title>
</head>
<body>

    <h1>Tambah Post</h1>

    <form action="/posts/store" method="POST">
        @csrf

        <p>
            <label>Judul</label><br>
            <input type="text" name="title">
        </p>

        <p>
            <label>Isi</label><br>
            <textarea name="content" rows="5"></textarea>
        </p>

        <button type="submit">Simpan</button>
    </form>

</body>
</html>

Buka halaman berikut:

http://127.0.0.1:8000/posts/create

Isi form, lalu klik tombol Simpan. Jika berhasil, data akan masuk ke database dan halaman akan diarahkan ke daftar post.

Menjalankan Perintah Artisan Yang Sering Digunakan

Laravel menyediakan Artisan untuk menjalankan berbagai perintah melalui terminal. Berikut beberapa perintah yang sering digunakan.

Perintah Fungsi
php artisan serve Menjalankan server lokal Laravel
php artisan make:controller NamaController Membuat controller baru
php artisan make:model NamaModel Membuat model baru
php artisan make:migration nama_migration Membuat file migration
php artisan migrate Menjalankan migration ke database
php artisan route:list Melihat daftar route
php artisan cache:clear Menghapus cache aplikasi

Cara Upgrade Dari Laravel 12 Ke Laravel 13

Jika sudah memiliki project Laravel 12, kita dapat melakukan upgrade ke Laravel 13. Sebelum upgrade, backup project dan database terlebih dahulu.

Secara umum, proses upgrade dilakukan dengan memperbarui dependency di file composer.json.

"require": {
    "php": "^8.3",
    "laravel/framework": "^13.0",
    "laravel/tinker": "^3.0"
},
"require-dev": {
    "phpunit/phpunit": "^12.0"
}

Setelah itu jalankan perintah update Composer:

composer update

Jika memakai Laravel Installer, update juga installer Laravel:

composer global update laravel/installer

Laravel menyediakan upgrade guide resmi untuk membantu developer memeriksa perubahan yang berdampak pada aplikasi lama.

Tips Sebelum Menggunakan Laravel 13

Agar proses belajar Laravel 13 lebih mudah, perhatikan beberapa tips berikut:

  • Pelajari dasar PHP terlebih dahulu.
  • Pahami konsep MVC.
  • Pelajari routing, controller, view, model, dan migration secara bertahap.
  • Gunakan database sederhana untuk latihan.
  • Biasakan membaca error message Laravel.
  • Gunakan dokumentasi resmi saat mencoba fitur baru.
  • Jangan langsung membuat fitur besar sebelum memahami dasar CRUD.

Kesalahan Umum Saat Belajar Laravel

Beberapa pemula sering mengalami error saat pertama kali belajar Laravel. Berikut kesalahan yang sering terjadi.

1. Versi PHP Tidak Sesuai

Laravel 13 membutuhkan PHP minimal 8.3. Jika versi PHP masih lama, proses instalasi bisa gagal.

2. Composer Belum Terpasang

Laravel membutuhkan Composer untuk mengelola dependency. Jika Composer belum terpasang, perintah instalasi Laravel tidak dapat berjalan.

3. File .env Belum Disesuaikan

Konfigurasi database harus disesuaikan di file .env. Jika nama database, username, atau password salah, Laravel tidak dapat terhubung ke database.

4. Lupa Menjalankan Migration

Jika tabel belum dibuat, aplikasi akan menampilkan error saat mengambil atau menyimpan data. Jalankan perintah php artisan migrate setelah membuat migration.

5. Salah Menulis Nama View

Pastikan nama file view sesuai dengan nama yang dipanggil di controller atau route.

Kelebihan Laravel 13

Laravel 13 memiliki beberapa kelebihan untuk pengembangan aplikasi web modern.

  • Struktur project rapi dan mudah dipahami.
  • Mendukung pembuatan API dengan lebih baik.
  • Memiliki fitur keamanan bawaan.
  • Mendukung queue untuk proses background.
  • Mendukung migration untuk mengelola database.
  • Memiliki Blade template engine yang sederhana.
  • Memiliki ekosistem package yang besar.
  • Mendukung integrasi AI melalui Laravel AI SDK.

Kapan Harus Menggunakan Laravel 13?

Gunakan Laravel 13 jika ingin membuat aplikasi baru dengan versi Laravel terbaru. Laravel 13 juga cocok digunakan jika server sudah mendukung PHP 8.3 atau lebih baru.

Jika masih memakai project lama, cek kebutuhan aplikasi terlebih dahulu. Jangan melakukan upgrade langsung di server produksi. Lakukan pengujian di komputer lokal atau staging server.

Kesimpulan

Laravel 13 adalah versi terbaru Laravel yang membawa beberapa pembaruan penting untuk pengembangan aplikasi web modern. Versi ini membutuhkan PHP minimal 8.3 dan mendukung fitur seperti Laravel AI SDK, JSON:API Resources, request forgery protection yang lebih baik, queue routing, dan PHP attributes yang lebih luas.

Untuk pemula, cara terbaik belajar Laravel 13 adalah memahami instalasi, route, controller, view, model, migration, dan database. Setelah dasar tersebut dikuasai, proses membuat aplikasi seperti CRUD, REST API, login, dashboard admin, dan sistem informasi akan menjadi lebih mudah.

Dengan struktur yang rapi dan fitur yang lengkap, Laravel 13 dapat menjadi pilihan tepat untuk membuat aplikasi web berbasis PHP yang modern dan mudah dikembangkan.

Posting Komentar

0 Komentar

Rekomendasi Untuk Anda × +