Laravel 13
Developerlar uchun eng muhim yangilanishlar

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.
