WhatsApp ile yaz
← Blog

Composer Nedir?

📅 19.10.2026

Composer, PHP ekosisteminde bağımlılık yönetimini kolaylaştıran, otomatik yükleme (autoload) ve paket versiyon kontrolü sağlayan bir araçtır. PHP projelerinde kullanılan kütüphaneler, framework’ler ve yardımcı sınıflar genellikle vendor klasörüne yerleştirilir ve bu klasörün içindeki dosyaların doğru şekilde yüklenmesi için Composer’ın autoload fonksiyonu devreye girer. Composer sayesinde proje bağımlılıkları, composer.json dosyasında tanımlanır ve composer install komutu ile tek bir adımda kurulur.


Composer’ın Avantajları

Composer’ın sağladığı en belirgin avantajlar şunlardır:

  • Otomatik bağımlılık yönetimi: Kütüphaneler, ihtiyaç duyulduğunda otomatik olarak indirilir.
  • Versiyon kontrolü: Paketlerin belirli sürümlerini kilitleyerek uyumsuzlukları önler.
  • Otomatik autoload: PSR-4 standartlarına uygun sınıf yükleme.
  • Geniş paket havuzu: Packagist üzerinden milyonlarca paket erişilebilir.
  • İş akışı entegrasyonu: CI/CD pipeline’larına kolayca entegre edilebilir.

Composer ile Proje Kurulumu

Yeni bir PHP projesi başlatmak için şu adımları izleyebilirsiniz:

  • Proje dizini oluşturun ve terminalde bu dizine gidin.
  • composer init komutunu çalıştırarak composer.json dosyasını oluşturun.
  • Gerekli paketleri eklemek için composer require vendor/package komutunu kullanın.
  • Projede kullanılan tüm bağımlılıkları tek seferde indirmek için composer install komutunu çalıştırın.

Örneğin, Laravel framework’ü kurmak için:

composer require laravel/laravel

Composer Paketleri ve Autoload

Composer, PSR-4 standardına göre sınıfları otomatik olarak yükler. composer.json içinde autoload bölümüne kendi isim alanınızı (namespace) ekleyerek proje içinde rahatça sınıf çağırabilirsiniz:

"autoload": {
    "psr-4": {
        "App\\": "src/"
    }
}

Bu yapılandırma, src klasöründeki tüm sınıfları App\ isim alanı altında erişilebilir kılar. Değişiklik yaptıktan sonra composer dump-autoload komutu ile autoload dosyalarını güncellemeniz gerekir.


Composer ile Gelişmiş Kullanım

İş geliştirme süreçlerinde Composer’ın sunduğu ek özellikleri kullanarak projeyi daha sağlam hale getirebilirsiniz:

  • Dev bağımlılıkları: composer require --dev vendor/package ile test ve geliştirme araçlarını ekleyin.
  • Script çalıştırma: composer.json içinde scripts bölümü ile otomatik test, kod analizi veya dağıtım komutları tanımlayın.
  • Custom repository: Packagist dışındaki özel paketleri repositories alanı ile ekleyin.
  • Constraint yönetimi: composer.lock dosyası ile tüm ekip üyelerinin aynı paket sürümlerini kullandığından emin olun.

Örnek composer.json script bölümü:

"scripts": {
    "test": "phpunit",
    "lint": "phpcs",
    "post-install-cmd": [
        "@php vendor/bin/phpunit"
    ]
}

Sonuç

Composer, PHP projelerinde bağımlılık yönetimini standartlaştırır, sürüm uyumluluğunu sağlar ve geliştirme sürecini hızlandırır. Doğru yapılandırıldığında, kod kalitesi, bakım kolaylığı ve ekip iş akışı açısından büyük avantajlar sunar. Composer’ı projelerinizde etkin bir şekilde kullanarak, sürdürülebilir ve ölçeklenebilir uygulamalar geliştirebilirsiniz.