Skip to main content

Command Palette

Search for a command to run...

Laravel 13

Developerlar uchun eng muhim yangilanishlar

Published
6 min read
Laravel 13
A

Hi, I’m Azizbek — a backend developer specializing in the Laravel ecosystem. I build scalable, real-time applications with a focus on clean architecture, performance, and developer experience. 🚀 Tech Stack: Laravel, PHP, Livewire, Octane Redis, MySQL, RabbitMQ, WebSocket REST APIs, Microservices, Webhooks Payment integrations (Click, Payme, etc.) Docker (when needed), Git, CI/CD 🛠 Projects I’ve worked on: ProPay, ProID, Goodlook, Soul HR Influencer Wallet System Real-Time Order Processing Platform 🎓 I also share Laravel tips and dev tutorials on my YouTube channel and Telegram. Let’s build something powerful.

Laravel 13 — Developerlar uchun eng muhim yangilanishlar

Laravel 13 rasmiy ravishda chiqdi va framework yana bir qadam modern PHP architecture tomon rivojlandi. Bu versiya katta feature release bo‘lmasa ham, developer experience, performance va PHP Attributes asosidagi konfiguratsiya kengaytirilgani bilan ajralib turadi.

Bu maqolada Laravel 13 dagi eng foydali va amaliy yangilanishlarni ko‘rib chiqamiz.


Laravel 13 Requirements

Laravel 13 yangi PHP versiyalariga moslashtirilgan. Frameworkni ishlatish uchun quyidagi minimal talablar mavjud:

  • PHP 8.3 yoki undan yuqori

  • Composer 2.7+

  • Symfony 8 komponentlari

Bu o‘zgarishlar Laravelni zamonaviy PHP imkoniyatlariga moslashtiradi va framework ichida ko‘plab optimizatsiyalarni ta’minlaydi.


Laravel AI SDK endi Stable

Laravel ekotizimidagi yana bir muhim yangilik — Laravel AI SDK endi stable versiyada chiqarildi.

Bu SDK yordamida siz AI modellar bilan ishlashni Laravel ilovalari ichida juda oson integratsiya qilishingiz mumkin.

Masalan:

  • OpenAI

  • Anthropic

  • boshqa AI providerlar

bilan ishlash uchun yagona API taqdim etadi.

Bu ayniqsa quyidagi use-case lar uchun foydali:

  • AI chatbotlar

  • AI content generation

  • AI powered search

  • AI assistants

Laravel ekotizimida AI integratsiyasi endi ancha soddalashdi.


1. Controller Middleware uchun PHP Attributes

Laravel 13 da controller middleware larni PHP attributes orqali belgilash mumkin.

Laravel 12 da middleware odatda route yoki constructor orqali yozilardi.

Laravel 12

class UserController extends Controller
{
    public function __construct()
    {
        $this->middleware('auth');
    }
}

Laravel 13

use Illuminate\Routing\Attributes\Controllers\Middleware;

#[Middleware('auth')]
class UserController
{
}

Bundan tashqari method darajasida ham middleware qo‘yish mumkin:

#[Middleware('auth')]
class UserController
{
    #[Middleware('log')]
    public function index()
    {
        //
    }
}

Natija:

  • controller code cleaner

  • constructor middleware yo‘q

  • metadata class darajasida turadi


2. Authorization Attributes

Controller ichida policy tekshirish ham attribute orqali yozilishi mumkin.

use Illuminate\Routing\Attributes\Controllers\Authorize;

class CommentController
{
    #[Authorize('delete', 'comment')]
    public function destroy(Comment $comment)
    {
        //
    }
}

Bu aslida quyidagi middleware ni replacement qiladi:

->middleware('can:delete,comment')

Natija:

  • policy authorization deklarativ bo‘ldi

  • controller o‘qilishi osonlashdi.


3. Queue va Event Listener Attributes

Laravel 13 da queue konfiguratsiyasi ham attribute orqali yozilishi mumkin.

use Illuminate\Queue\Attributes\Tries;
use Illuminate\Queue\Attributes\Timeout;

#[Tries(5)]
#[Timeout(120)]
class SendShipmentNotification implements ShouldQueue
{
}

Oldin bu property orqali yozilardi:

public $tries = 5;
public $timeout = 120;

Shuningdek boshqa attribute lar ham mavjud:

  • #[Backoff]

  • #[MaxExceptions]

  • #[FailOnTimeout]

  • #[Connection]

  • #[Queue]

  • #[Delay]

Natija:

queue konfiguratsiyasi class metadata orqali yoziladi.


4. Cache::touch() — TTL yangilash

Laravel 13 da cache uchun yangi metod qo‘shildi.

Cache::touch('key', 3600);

Bu metod:

  • cache value ni o‘zgartirmaydi

  • faqat TTL (expiration) ni yangilaydi.

Masalan:

Cache::touch('session:123', now()->addHours(2));

Bu juda foydali:

  • session refresh

  • activity tracking

  • cache regeneration oldini olish


5. Cache Memoization

Laravel 13 da yangi memo cache driver mavjud.

Cache::memo()->get('key');

Bu nimani qiladi:

1-chi call → real cache store 2-chi call → memory

Misol:

Cache::memo()->get('users');
Cache::memo()->get('users');

Ikkinchi call:

  • Redis ga bormaydi

  • memory dan qaytaradi.

Bu ayniqsa:

  • service layer

  • repository layer

da performance beradi.


6. Cache Failover Driver

Laravel 13 cache uchun failover driver qo‘shdi.

'failover' => [
    'driver' => 'failover',
    'stores' => [
        'redis',
        'database'
    ]
]

Agar Redis ishlamay qolsa Laravel avtomatik fallback qiladi:

redis → database

Bu production uchun juda foydali:

  • Redis crash

  • Memcached down

holatlarida ilova ishlashda davom etadi.


7. Event Dispatch After DB Commit

Ba’zi eventlar transaction tugagandan keyin dispatch bo‘lishi kerak.

Laravel 13 da event class ichida quyidagicha yozish mumkin:

use Illuminate\Contracts\Events\ShouldDispatchAfterCommit;

class OrderShipped implements ShouldDispatchAfterCommit
{
}

Natija:

  • event faqat transaction commit bo‘lgandan keyin ishlaydi

  • inconsistent data muammosi kamayadi.


8. Event Defer

Laravel 13 event dispatch ni kechiktirish imkonini ham beradi.

Event::defer(function () {
    $user = User::create([...]);
    $user->posts()->create([...]);
});

Bu:

  • barcha eventlarni

  • closure tugagandan keyin

dispatch qiladi.

Bu ayniqsa:

  • complex model creation

  • seeders

  • bulk operations

uchun juda foydali.


9. Validation: Form Request Attributes

Laravel 13 validation tizimida ham PHP attributes qo‘llab-quvvatlashi kengaytirildi. Endi ba'zi Form Request konfiguratsiyalarini metod yozmasdan, attribute orqali deklarativ tarzda yozish mumkin.

Bu kodni yanada clean va o‘qilishi oson qiladi.


1. StopOnFirstFailure Attribute

Agar validation birinchi xatoda to‘xtashi kerak bo‘lsa, endi class ustida attribute qo‘yish mumkin.

Oldin:

$validator->stopOnFirstFailure()->fails();

Laravel 13:

use Illuminate\Foundation\Http\Attributes\StopOnFirstFailure;
use Illuminate\Foundation\Http\FormRequest;

#[StopOnFirstFailure]
class StorePostRequest extends FormRequest
{
    public function rules(): array
    {
        return [
            'title' => 'required|max:255',
            'body' => 'required',
        ];
    }
}

Bu validatorni birinchi xatoda to‘xtatadi.


2. RedirectTo Attribute

Validation xato bo‘lsa qayerga redirect bo‘lishini attribute bilan belgilash mumkin.

use Illuminate\Foundation\Http\Attributes\RedirectTo;
use Illuminate\Foundation\Http\FormRequest;

#[RedirectTo('/dashboard')]
class StorePostRequest extends FormRequest
{
}

Oldin buni controller yoki boshqa joyda qo‘lda boshqarish kerak edi.


3. RedirectToRoute Attribute

Agar redirect route nomi orqali qilinishi kerak bo‘lsa:

use Illuminate\Foundation\Http\Attributes\RedirectToRoute;

#[RedirectToRoute('dashboard')]
class StorePostRequest extends FormRequest
{
}

Bu route helper ishlatishni soddalashtiradi.


4. ErrorBag Attribute

Agar sahifada bir nechta form bo‘lsa, validation xatolarini alohida bag ichiga joylash mumkin.

use Illuminate\Foundation\Http\Attributes\ErrorBag;

#[ErrorBag('login')]
class LoginRequest extends FormRequest
{
}

Blade’da foydalanish:

{{ $errors->login->first('email') }}

5. Clean Controller Validation

Laravel 13 bilan FormRequest ishlatish yana ham toza arxitektura beradi.

Controller endi faqat biznes logikani bajaradi:

public function store(StorePostRequest $request)
{
    \(data = \)request->validated();

    Post::create($data);
}

Validation esa FormRequest ichida kapsulalanadi.


Xulosa

Laravel 13 katta feature release bo‘lmasa ham, framework ichida muhim arxitektura o‘zgarishlari mavjud.

Eng muhim yangiliklar:

  • PHP 8.3 requirement

  • Laravel AI SDK stable

  • Controller middleware uchun PHP Attributes

  • Authorization attributes

  • Queue listener attributes

  • Cache::touch()

  • Stale-While-Revalidate caching

  • Memo cache driver

  • Cache failover

  • Event dispatch after DB commit

  • Event defer

  • Attribute-based configuration

  • cleaner FormRequest classes

  • kamroq boilerplate code

  • controllerlarni soddalashtirish

Laravel asta-sekin configuration → attributes modeliga o‘tmoqda. Bu esa frameworkni yanada cleaner va declarative qiladi.