Composer Autoload ile Temiz PHP Proje Yapısı
Bu yazı, Composer Autoload ile Temiz PHP Proje Yapısı konusunu temelden ele alıyor. Önce kavramın ne işe yaradığını, ardından 5 kritik noktayı ve bunları bir araya getiren JSON örneğini adım adım inceleyeceğiz.
Bu yazı, Composer Autoload ile Temiz PHP Proje Yapısı konusunu temelden ele alıyor. Önce kavramın ne işe yaradığını, ardından 5 kritik noktayı ve bunları bir araya getiren JSON örneğini adım adım inceleyeceğiz.
Konuya genel bakış
Dosyanın başında uzayan require listeleri, proje büyüdükçe hangi sınıfın nereden geldiğini takip etmeyi zorlaştırır. Composer'ın PSR-4 otomatik yükleyicisi, sınıf adından dosya yolunu kendisi bulur. Üçüncü taraf paketler de aynı yükleyiciyle projeye katılır.
Öne çıkan noktalar
- PSR-4: Ad alanı bir klasöre eşlenir; Uygulama\Siparis\Fatura sınıfı src/Siparis/Fatura.php dosyasından yüklenir.
- composer dump-autoload: Yeni klasör eşlemesinden sonra yükleyici yeniden üretilir.
- files: Sınıf olmayan yardımcı fonksiyon dosyaları her istekte yüklenir.
- Tek giriş: index.php başında vendor/autoload.php dosyasını bir kez dahil etmek yeterlidir.
- Canlıda: composer install --no-dev --optimize-autoloader ile geliştirme paketleri kurulmaz, yükleme hızlanır.
Uygulamalı örnek
Aşağıdaki JSON örneği, yukarıdaki noktaların gerçek bir kodda nasıl bir araya geldiğini gösteriyor:
{
"name": "ferdisoft/uygulama",
"require": { "php": ">=8.1" },
"autoload": {
"psr-4": { "Uygulama\\": "src/" },
"files": ["src/yardimcilar.php"]
}
}Örnek bilinçli olarak kısa tutuldu; gerçek projede hata yönetimi ve günlükleme gibi katmanlar eklenmelidir.
JSON'da yorum satırı ve son öğeden sonra virgül geçersizdir; dosyayı bir JSON doğrulayıcıyla denetleyin.
Size ne kazandırır?
Kısaca özetlemek gerekirse:
- Bakımı kolay ve okunur bir kod tabanı sağlar
- Farklı cihaz ve tarayıcılarda tutarlı sonuç verir
- Ekip içinde ortak bir uygulama standardı oluşturur
- Sayfa performansını ve kullanıcı deneyimini iyileştirir
Özetle
Bu yazı boyunca Composer Autoload ile Temiz PHP Proje Yapısı konusunun temel taşlarını ve uygulamada dikkat edilmesi gerekenleri gördük. Özellikle PSR-4 ve Canlıda başlıklarını uygulamaya geçirmek iyi bir başlangıç olur.
İlgili içerikler:
- MySQL İndeksleri ile Sorgu Hızlandırma
- JavaScript Fetch API ve async/await ile Veri Çekme
- PHP ile Güvenli Oturum Yönetimi: 7 Altın Kural
Daha fazla uygulamalı içerik için Akademi derslerine ve blog yazılarına göz atabilirsiniz.
Yazar
Ferdi Giden @adminPHP, MySQL ve Tailwind ile kurumsal yazılımlar geliştiriyor; FerdiSoft çatısı altında ERP, WMS ve SaaS çözümleri üretiyor.