Programlama

Composer

Composer nedir?

Composer’i Nils Adermann ve Jordi Boggiano yazdı. İlk açık yayın 2012’dir. Paketler çoğunlukla Packagist kaydında durur. composer.json projenin paket listesidir. composer.lock kesin sürümü bağlar. composer install o listeyi okur ve paketleri vendor klasörüne koyar. PHP programı çalıştırır. Composer yalnız kütüphaneyi getirir ve sayfayı kendi çalıştırmaz.

Composer ne için kullanılır?

Composer PHP projesine hazır kütüphane kurmak ve aynı listeyi başka bilgisayarda tekrarlamak içindir.

  • Çatının kendisini tek komutla kurmak
  • Sürümü composer.lock ile tutmak
  • Paketi vendor klasöründe ayırmak
  • Eski paketi yenisiyle değiştirmek

Composer ile ne yapılabilir?

Composer ile paket eklersin ve listeden kurarsın. PHP’nin yerine geçmez. Tanımadığın paket kendi kodunu senin projenin içine koyar. vendor klasörünü depoya koymak genellikle gerekmez. Liste ve kilit dosyası yeter.

Composer öğrenmek zor mu?

Bir paket kurmak kolaydır. Zorluk PHP sürümü ve kilit dosyasındadır. Paket senin PHP’nden yeni sürüm isteyebilir ve kurulum durur. composer.lock dosyasını atmak yarın başka sürüm getirebilir. İki proje aynı ortak klasöre yazarsa sürümler karışır.

Avantajları ve sınırları

Avantaj: kütüphane yeniden yazılmaz, liste bir dosyada durur, aynı kurulum başka makinede tekrarlanır. Sınır: vendor büyür. Her küçük iş için paket gerekmez. Composer, pip ve npm değildir.

Temel kavramlar

Paketin adı ve sürümü vardır. composer.json listedir. vendor indirilen dosyaların yeridir.

  • composer.json listeyi tutar
  • composer.lock sürümü bağlar
  • vendor paketlerin klasörüdür
  • Packagist ortak kayıttır

Kısa örnek

Bu komut listedeki paketleri vendor klasörüne kurar. PHP programını kendi yazmaz.

composer install

Sık sorulan sorular

  • Composer ve PHP aynı mı? Hayır. PHP programı çalıştırır. Composer kütüphaneyi getirir.
  • Composer, pip ve npm aynı mı? İş benzerdir, araç ayrıdır. Composer PHP içindir.
  • vendor klasörü depoda durmalı mı? Genellikle hayır. Liste ve kilit dosyası durur, paketler kurulumda gelir.