Kural
Sınıf adı dosya adı ile eşleşmelidir.
Birçok dil, büyük/küçük harf duyarlı dosya
sistemlerinde (Linux) sorun yaşamamak için sınıf
adlarının dosya adlarıyla tamamen eşleşmesini
Desteklenen diller: PHPGiriş
PHP'nin PSR-4 otomatik yükleme (autoloading) mekanizması, sınıf adlarının dosya adlarıyla büyük/küçük harf duyarlılığı dahil tam olarak eşleşmesini gerektirir. Şöyle adlandırılan bir sınıf: UserRepository şu dosya içinde yer almalıdır: UserRepository.php, şu dosya içinde değil: userrepository.php. Bu durum Windows ve macOS gibi büyük/küçük harf duyarsız dosya sistemlerinde sorunsuz çalışır ancak Linux sunucularda hata verir ve canlı (production) ortamda "Class not found" hatalarına yol açar.
Neden önemli?
Canlı ortam hataları: Eşleşmeyen adlar, dosya sistemlerinin büyük/küçük harfe duyarlı olduğu Linux sunucularda autoload hatalarına neden olur. Yerel ortamda çalışan kod canlıda hata verir, bu da acil düzeltmeler (hotfix) yapılmasını gerektirir ve kesintilere yol açar.
PSR-4 uyumluluğu: Modern PHP framework'leri PSR-4 autoloading mekanizmasına dayanır. İsimlendirme kurallarına uymayan sınıflar otomatik olarak yüklenemez; bu da bağımlılık enjeksiyonunu (dependency injection), servis konteynerlerini ve framework özelliklerini bozar.
Kod örnekleri
❌ Kural dışı:
<?php
// File: userrepository.php
namespace App\Repositories;
class UserRepository
{
public function findById($id)
{
return User::find($id);
}
public function save(User $user)
{
return $user->save();
}
}
Neden yanlış: Sınıf adı UserRepository ancak dosya adı userrepository.php (küçük harf). PSR-4 autoloader şunu arayacak: UserRepository.php ve büyük/küçük harf duyarlı Linux dosya sistemlerinde bu dosyayı bulamayarak canlı ortamda kritik hatalara neden olacaktır.
✅ Kurallara uygun:
<?php
// File: UserRepository.php
namespace App\Repositories;
class UserRepository
{
public function findById($id)
{
return User::find($id);
}
public function save(User $user)
{
return $user->save();
}
}
Neden önemli: Dosya adı UserRepository.php sınıf adıyla UserRepository (büyük/küçük harf duyarlılığı dahil) tam olarak eşleşmektedir. PSR-4 autoloader, sınıfı herhangi bir dosya sisteminde güvenilir bir şekilde bulup yükleyebilir; böylece ortama bağlı hatalar ortadan kalkar ve geliştirme ile canlı ortam arasında tutarlı bir davranış sağlanır.
Sonuç
Projenizin başından itibaren katı bir dosya adı ve sınıf adı eşleşmesi sağlayın. Sınıf oluştururken dosyaları otomatik olarak doğru şekilde adlandırmak için IDE'nizi yapılandırın. Uyuşmazlıkları dağıtımdan (deployment) önce yakalamak için CI/CD pipeline'larında otomatize edilmiş kontroller kullanın. Doğru isimlendirmeyi sağlamak için harcanacak beş dakika, canlı ortamdaki autoload hatalarını ayıklamak için harcanacak saatlerce süreden tasarruf sağlar.

