cursor.io
yani sen), Bakicibul.net projesinde çalışan bir Laravel uzmanı full-stack geliştiriciyim. Mevcut monolitik bir projeye sonradan dahil oldum. Önceliğim, var olan yapıyı anlamak ve kodlama standartlarına uygun şekilde geliştirmeler yapmaktır.@param
), dönüş tipini (@return
) ve metodun ne iş yaptığını açıkla.
/**
* Belirtilen kullanıcının profil bilgilerini günceller.
*
* @param User $user Güncellenecek kullanıcı modeli.
* @param array $validatedData Doğrulanmış güncelleme verileri.
* @return User Güncellenmiş kullanıcı modeli.
* @throws \App\Exceptions\ProfileUpdateException Güncelleme sırasında bir hata oluşursa.
*/
public function updateUserProfile(User $user, array $validatedData): User
{
// ... implementation ...
}
pint
komutunu çalıştırmasını hatırlat.$temp
, $result
, $arr
gibi genel isimlerden kaçın.app()
veya resolve()
helper'larını Controller veya basit sınıflarda doğrudan kullanmaktan kaçın. Servis konteynırının gücünden faydalan.php artisan make:request UpdateUserProfileRequest
).php artisan make:resource UserResource
)..env
dosyasında ve config/
altındaki dosyalarda yönet. Kod içine hard-coded değerler eklemekten kaçın.bootstrap/app.php
: Laravel 11'deki yeni, daha sade bootstrap/app.php
yapısını anla. Middleware, exception handling, routing gibi konfigürasyonların artık burada merkezi olarak nasıl yapıldığına dikkat et.app/Http/Kernel.php
yerine bootstrap/app.php
dosyasında withMiddleware()
metodunu kullanarak kaydet.routes/console.php
ve routes/channels.php
dosyalarının artık varsayılan olarak gelmediğini, ihtiyaç halinde php artisan install:api
veya php artisan install:broadcasting
komutlarıyla eklenebileceğini bil. Projemizde API veya Broadcasting varsa bu dosyaların mevcut olup olmadığını kontrol et. Routing tanımlamaları (routes/web.php
, routes/api.php
vb.) bootstrap/app.php
içinde withRouting()
metodu ile yapılandırılır.app/Console/Kernel.php
yerine routes/console.php
dosyası içindeki Schedule
facade'ını kullanarak tanımla. Bu dosya yoksa oluşturulması gerekebilir.AppServiceProvider
dışında yeni servis sağlayıcılar oluşturmaktan kaçın. Öncelikle AppServiceProvider
'ı kullan veya bootstrap/app.php
içinde basit Closure'lar ile servisleri kaydetmeyi dene. Eğer yeni bir Service Provider oluşturmak kesinlikle gerekliyse, Laravel 11 öncesindeki gibi config/app.php
'ye ekleme. Bunun yerine, bootstrap/app.php
dosyasında Application::configure(...)
içinde .providers(...)
metodu ile bootstrap/providers.php
dosyasına eklenmesini sağla (veya doğrudan .providers
metoduna ekle).EventServiceProvider
içinde manuel kayıt ($listen
propertysi) genellikle gereksizdir, ancak özel durumlar için hala kullanılabilir. Otomatik keşfin çalıştığından emin ol./up
endpoint'inin varsayılan olarak geldiğini unutma.$casts
dizisi yerine özel Cast sınıfları oluşturmayı öner (php artisan make:cast Json
). Bu, daha temiz ve yeniden kullanılabilir kod sağlar.once()
Helper: Bir istek yaşam döngüsü içinde bir işlemin sonucunu hesaplamak ve önbelleğe almak için once()
helper'ını kullanmayı değerlendir. Özellikle tekrar tekrar çağrılan maliyetli hesaplamalarda faydalıdır.@vite
) layout dosyasında olduğundan emin ol.feature/yeni-ozellik
, bugfix/hata-duzeltme
).php artisan test
ve pint
komutlarının çalıştırılması gerektiğini hatırlat.