irfo
Moderatör
- Katılım
- 7 Ocak 2026
- Mesajlar
- 290
- Tepkime puanı
- 2
- Puanları
- 18
Eskiden PHP projelerine bir kütüphane eklemek için dosyaları indirir, klasöre atar ve onlarca include satırı yazardık. Composer, bu zahmetli süreci tarihe gömdü. Sadece "Hangi kütüphaneye ihtiyacın var?" diye sorar ve onu tüm gereksinimleriyle birlikte saniyeler içinde projenize dahil eder.
Composer'ı kullanabilmek için bilgisayarınızda veya sunucunuzda PHP yüklü olmalıdır.
Diyelim ki projenizde e-posta göndermek için PHPMailer kütüphanesini kullanmak istiyorsunuz. Proje klasörünüzde terminali açın ve şu komutu yazın:
Bu komut şunları yapar:
Composer'ın en büyük avantajı, indirdiğiniz tüm kütüphaneleri tek bir dosya ile projenize dahil etmesidir.
Composer, modern PHP geliştiriciliğinin omurgasıdır. Artık tekerleği yeniden icat etmenize gerek yok; binlerce profesyonel kütüphaneyi Packagist.org üzerinden bulup saniyeler içinde Composer ile projenize entegre edebilirsiniz. Projelerinizde mutlaka Composer yapısını kullanmaya özen gösterin.
1. Composer Kurulumu
Composer'ı kullanabilmek için bilgisayarınızda veya sunucunuzda PHP yüklü olmalıdır.
[] Windows için: Composer-Setup.exe dosyasını indirin ve çalıştırın. Kurulum sırasında PHP.exe yolunuzu otomatik bulacaktır.
[] Linux / macOS için: Terminalinizi açın ve şu komutu çalıştırın:
Bash:
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
2. Projeye Kütüphane Dahil Etme
Diyelim ki projenizde e-posta göndermek için PHPMailer kütüphanesini kullanmak istiyorsunuz. Proje klasörünüzde terminali açın ve şu komutu yazın:
Bash:
composer require phpmailer/phpmailer
Bu komut şunları yapar:
[] composer.json adında bir dosya oluşturur (kütüphane listesini tutar).
[] vendor/ klasörü oluşturur ve kütüphane dosyalarını buraya indirir.- vendor/autoload.php dosyasını oluşturur.
3. Autoload Sihri
Composer'ın en büyük avantajı, indirdiğiniz tüm kütüphaneleri tek bir dosya ile projenize dahil etmesidir.
PHP:
<?php
// Tüm kütüphaneleri otomatik yükle
require 'vendor/autoload.php';
use PHPMailer\PHPMailer\PHPMailer;
$mail = new PHPMailer();
// ... kodlarınız
?>
Temel Composer Komutları Tablosu
| Komut | Açıklama |
|---|---|
| composer init | Yeni bir composer.json dosyası oluşturur. |
| composer require [paket] | Projeye yeni bir kütüphane ekler. |
| composer install | composer.json dosyasındaki tüm paketleri sıfırdan indirir. |
| composer update | Yüklü paketleri en güncel versiyonlarına yükseltir. |
| composer remove [paket] | Bir kütüphaneyi ve bağımlılıklarını siler. |
4. composer.json vs composer.lock
[] composer.json: Sizin "istek listenizdir". Hangi paketlerin hangi ana versiyonlarını istediğinizi belirtirsiniz.
[] composer.lock: "Fotoğraf karesidir". Projenizin o an tam olarak hangi alt versiyonlarla çalıştığını kaydeder. Ekip çalışmasında herkesin aynı versiyonları kullanmasını sağlar.
Sonuç
Composer, modern PHP geliştiriciliğinin omurgasıdır. Artık tekerleği yeniden icat etmenize gerek yok; binlerce profesyonel kütüphaneyi Packagist.org üzerinden bulup saniyeler içinde Composer ile projenize entegre edebilirsiniz. Projelerinizde mutlaka Composer yapısını kullanmaya özen gösterin.