Composer Nedir?
Composer, PHP projelerinde bağımlılık yönetimi için kullanılan standart araçtır. Node.js'teki npm veya Python'daki pip'e benzer şekilde çalışan Composer; projenizin ihtiyaç duyduğu PHP kütüphanelerini (paketleri) otomatik indirir, versiyonlarını yönetir ve autoload (otomatik sınıf yükleme) mekanizması sağlar. Modern PHP geliştirmede Composer kullanmadan proje yazmak neredeyse düşünülemez.
Composer Kurulumu ve İlk Proje
# Global kurulum (Windows için installer)
composer --version
# Yeni proje başlatma
composer init
# Mevcut projeye paket ekleme
composer require guzzlehttp/guzzle
# Geliştirme bağımlılığı ekleme
composer require --dev phpunit/phpunit
composer.json Dosyası
{
"name": "benim/projem",
"require": {
"php": ">=8.1",
"guzzlehttp/guzzle": "^7.0",
"vlucas/phpdotenv": "^5.5"
},
"require-dev": {
"phpunit/phpunit": "^10.0"
},
"autoload": {
"psr-4": { "App\\": "src/" }
}
}
Autoloading ve PSR-4
Composer'in autoload mekanizması sayesinde require ifadeleri olmadan sınıflar otomatik yüklenir. PSR-4 standardı namespace ile dizin yapısını eşleştirir. Proje dosyalarınızı src/ altında organize ederek require __DIR__ . "/vendor/autoload.php"; tek satırıyla tüm bağımlılıkları yükleyebilirsiniz.
Popüler Composer Paketleri
- Guzzle: HTTP client — API entegrasyonları
- Carbon: Tarih/saat işlemleri
- PHP dotenv: .env dosyasından ortam değişkeni yükleme
- Monolog: Kapsamlı loglama kütüphanesi
- PHPMailer: E-posta gönderimi
- Symfony Validator: Veri doğrulama
Versiyon Yönetimi
Composer'de versiyon kısıtlamaları ^ (uyumlu), ~ (yakın) ve tam versiyon gibi operatörlerle belirtilir. composer.lock dosyası tam versiyon bilgilerini kilitleyerek tüm ekibin aynı versiyonu kullandığını garanti eder.
Bilkey PHP Programlama Kursu
Bilkey Bilişim Akademisi PHP Programlama Kursu'nda Composer, modern PHP, OOP, MVC mimarisi ve gerçek proje geliştirme konuları uygulamalı olarak öğretilmektedir. Kurtköy merkezimizde PHP uzmanı olun. 0216 354 7979