Logo
© 2019 - 2026 SantriKoding.

On This Page

Mobile navigation

Tutorial Laravel 13 #1: Apa yang Baru di Laravel 13

like emoticon 1
love emoticon 3
insightful emoticon 0
fire emoticon 0
cheer emoticon 0
celebrate emoticon 0
Tutorial Laravel 13 #1: Apa yang Baru di Laravel 13

Halo teman-teman semuanya. Laravel telah merilis Laravel 13 pada tanggal 17 Maret. Pada rilis ini, menurut tim Laravel sendiri fokus utamanya adalah meminimalkan breaking changes. Sebagai gantinya, hadirnya peningkatan quality-of-life secara berkelanjutan sepanjang tahun tanpa merusak aplikasi yang sudah ada.”

Apa yang Baru di Laravel 13?

Laravel 13 melanjutkan siklus rilis tahunan Laravel dengan fokus pada workflow berbasis AI (AI-native), default yang lebih kuat, serta API yang lebih ekspresif untuk developer.

Pada rilis ini, Laravel menghadirkan beberapa fitur baru, seperti:

  • Minimal Breaking Changes
  • PHP 8.3
  • First-party AI primitives
  • JSON:API resources
  • Kemampuan semantic / vector search
  • Serta peningkatan bertahap pada bagian queue, cache, dan security

Nah, dari beberapa poin di atas, yuk kita bahas satu per satu agar teman-teman lebih mudah memahaminya.

Minimal Breaking Changes

Sebagian besar fokus pada siklus rilis kali ini adalah meminimalkan breaking changes. Oleh karena itu, Laravel 13 bisa dikatakan sebagai upgrade yang relatif ringan dari segi effort, namun tetap membawa banyak kemampuan baru.

Dengan pendekatan ini, sebagian besar aplikasi Laravel dapat melakukan upgrade ke Laravel 13 tanpa perlu melakukan banyak perubahan pada kode aplikasi.

PHP 8.3

Laravel 13 sudah tidak lagi mendukung PHP 8.2 dan sekarang membutuhkan PHP 8.3 atau lebih tinggi.

Artinya, sebelum melakukan upgrade, pastikan environment teman-teman sudah menggunakan versi PHP yang sesuai.

Laravel AI SDK

Laravel 13 memperkenalkan Laravel AI SDK sebagai first-party package yang menyediakan API untuk berbagai kebutuhan AI, seperti:

  • Text generation
  • Tool-calling agents
  • Embeddings
  • Audio
  • Gambar
  • Integrasi vector store

Dengan AI SDK ini, kita bisa membangun fitur AI yang agnostik terhadap provider, namun tetap menggunakan pengalaman developer yang khas Laravel.

Sebagai contoh, kita bisa membuat agent sederhana hanya dengan satu pemanggilan seperti berikut:

use App\Ai\Agents\SalesCoach;
 
$response = SalesCoach::make()->prompt('Analyze this sales transcript...');
 
return (string) $response;

Selain itu, Laravel AI SDK juga dapat digunakan untuk menghasilkan gambar, audio, dan embeddings.

Untuk kebutuhan pembuatan gambar (visual generation), SDK ini menyediakan API yang sederhana untuk membuat gambar dari prompt teks:

use Laravel\Ai\Image;
 
$image = Image::of('A donut sitting on the kitchen counter')->generate();
 
$rawContent = (string) $image;

Untuk yang berbasis suara, kita bisa menghasilkan audio yang terdengar natural dari teks, misalnya untuk asisten, narasi, atau fitur aksesibilitas:

use Laravel\Ai\Audio;
 
$audio = Audio::of('I love coding with Laravel.')->generate();
 
$rawContent = (string) $audio;

Dan untuk kebutuhan semantic search atau retrieval workflow, kita bisa langsung membuat embeddings dari string:

use Illuminate\Support\Str;
 
$embeddings = Str::of('Napa Valley has great wine.')->toEmbeddings();

Dengan adanya fitur ini, Laravel semakin mempermudah integrasi AI langsung ke dalam aplikasi tanpa perlu setup yang kompleks.

JSON:API Resources

Laravel sekarang telah menyediakan JSON:API resources bawaan (first-party), sehingga memudahkan kita untuk mengembalikan response yang sesuai dengan spesifikasi JSON:API.

Dengan fitur ini, JSON:API resources akan menangani berbagai hal secara otomatis, seperti:

  • Serialization object resource
  • Penyertaan relasi (relationship inclusion)
  • Sparse fieldsets
  • Links
  • Header response yang sesuai dengan standar JSON:API

Dengan adanya fitur ini, proses pembuatan API menjadi lebih terstruktur dan mengikuti standar yang sudah umum digunakan.

Queue Routing

Laravel 13 menambahkan fitur queue routing berbasis class melalui method:

Queue::route(...)

Fitur ini memungkinkan kita untuk menentukan aturan default queue atau connection untuk job tertentu secara terpusat.

Contohnya:

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

Dengan fitur ini, pengaturan queue menjadi lebih rapi dan terorganisir karena bisa didefinisikan di satu tempat, tanpa perlu mengatur ulang di setiap job.

Expanded PHP Attributes

Laravel 13 terus memperluas dukungan PHP Attributes bawaan (first-party) di berbagai bagian framework. Hal ini membuat konfigurasi dan perilaku aplikasi menjadi lebih deklaratif serta bisa langsung ditempatkan pada class dan method terkait.

Beberapa penambahan penting meliputi:

  • Attribute untuk controller dan authorization seperti #[Middleware] dan #[Authorize]
  • Attribute untuk pengaturan job pada queue seperti #[Tries], #[Backoff], #[Timeout], dan #[FailOnTimeout]

Sebagai contoh, middleware pada controller dan pengecekan policy sekarang bisa dideklarasikan langsung pada class dan method:

<?php
 
namespace App\Http\Controllers;
 
use App\Models\Comment;
use App\Models\Post;
use Illuminate\Routing\Attributes\Controllers\Authorize;
use Illuminate\Routing\Attributes\Controllers\Middleware;
 
#[Middleware('auth')]
class CommentController
{
    #[Middleware('subscribed')]
    #[Authorize('create', [Comment::class, 'post'])]
    public function store(Post $post)
    {
        // ...
    }
}

Dengan adanya ini, Laravel memberikan pendekatan yang konsisten dengan gaya attribute-first di lebih banyak area dalam framework.

Semantic / Vector Search

Laravel 13 semakin memperkuat fitur semantic search dengan dukungan vector query secara native, workflow embedding, serta API terkait yang terdokumentasi pada bagian search, query, dan AI SDK.

Fitur ini memudahkan kita untuk membangun pengalaman pencarian berbasis AI menggunakan:

  • PostgreSQL + pgvector
  • Similarity search berbasis embedding yang dihasilkan langsung dari string

Sebagai contoh, kita bisa menjalankan pencarian semantic similarity langsung melalui query builder:

$documents = DB::table('documents')
    ->whereVectorSimilarTo('embedding', 'Best wineries in Napa Valley')
    ->limit(10)
    ->get();

Dengan adanya fitur ini, Laravel memberikan kemudahan dalam membangun sistem pencarian yang lebih cerdas dan kontekstual berbasis AI.

Kesimpulan

Laravel 13 hadir sebagai rilis yang ringan untuk di-upgrade, namun tetap membawa banyak fitur modern, terutama dalam hal integrasi AI dan peningkatan pengalaman developer.

Dengan fokus pada minim breaking changes, dukungan AI SDK, serta fitur-fitur seperti JSON:API resources, queue routing, dan semantic search, Laravel semakin siap digunakan untuk membangun aplikasi modern.

Pada tutorial selanjutnya, kita akan mulai membahas cara install Laravel 13 dan menyiapkan environment development dari awal.

Artikel ini dibaca sebanyak 11.311 kali

Fika Ridaul Maulayya
Full-Stack Developer, Content Creator and CEO & Founder SantriKoding.com

Suka dengan tulisan di SantriKoding? Kamu bisa memberikan dukungan dengan berdonasi atau bagikan konten ini di sosial media. Terima kasih atas dukungan Anda!

KEBIJAKAN KOMENTAR

Saat memberikan komentar silahkan memberikan informasi lengkap tentang error, seperti: screenshot, link kode, dll. Baca aturan komentar kami

Memuat komentar...