Önceki yazımda Composer’ın ne olduğuna ve nasıl kurulduğuna değinmiştim, şimdi ise nasıl kullanılır onu anlatmak istiyorum. Yazıyı okumaya devam etmeden önce kurulum yapmanızı öneririm.

Devam etmeden önce Windows’ta yaptığınızda direkt composer komutu ile çağırabilir olduğunuz için öyle yazıyorum duruma göre;

olarak da çağırabilirsiniz. Bunun için composer.phar dosyasını getcomposer.org adresinden indirip proje dizinine atmanız gerekiyor (direk buradan da indirebilirsiniz).

Eğer Windows’taysanız ve komut satırına php yazınca hata alıyorsanız, PHP.exe’nin olduğu yeri PATH’ler arasina eklemeniz gerekiyor. Eğer hata alıyorsanız; Çalıştır‘a (Win + R)

yazıp entera basın, Sistem Özellilkleri (System Properties) açılacak oradan Ortam Değişkenleri… (Environment Variables…) buttonuna basın ve açılan pencerede aşağıdaki ya da yukarıdaki kısımda bulunan Path’e çift tıklayarak açın. Ardından, eğer Windows 10’da iseniz yeni bir kayıt eklemeye, önceki sürümlerdeyseniz açılan metin kutusunun sonuna PHP.exe‘nin bulunduğu dizinin yolunu yapıştırın (öncesine noktalı virgül eklemeniz gerekebilir, oraya biraz incelerseniz rahatça anlarsınız zaten)

Eğer sizde direkt composer yazınca gelmiyorsa, benim direk composer olarak çağırdığımı siz, sizde çalıştığı şekliyle kullanarak ilerlersiniz.

Composer Nasıl Kullanılır

Başlangıç

Composer’u kullanmaya başlamak için tek ihtiyacınız, proje dizininizde composer.json adında bir JSON dosyası olması (bazı durumlarda otomatik oluşamadığı için kendiniz oluşturmanız daha sağlıklı). Bu JSON dosyasının içinde ihtiyaç duyulan paketler ve versiyon bilgisi, varsa private repository yolları gibi bilgiler tutuluyor.

Örneğin:

composer.json dosyasının içine yapıştırın ve kaydedin. Ardından bu dizinde bir terminal (cmd – command promt) penceresi açın ve;

yazıp enterlayın. Composer otomatik olarak sizin için vendor klasörü oluşturacak, monolog‘u ve monolog için gerekli olan paketleri sizin için indirecek ve ardından gereksinim(ler)inizin için vendor dizinine autoload.php adında bir PHP dosyası oluşturacak. Her paketi (kütüphaneyi) tek tek include ya da require etmek yerine siz sadece autoload.php’yi require etseniz yeterli olacak.

Monolog’un Logger örneğiyle devam edecek olursak;

Öncelikle composer.json dosyamızı yukarıdaki gibi doldurduk (require monolog yazan yer), ardından terminale (komut satırına) composer install yazdık ve gerekli paketlerin inmesini bekledik. İşlem başarıyla biterse vendor diye bir dizin ve içine ‘composer‘ ve ‘monolog‘ adında iki klasör, ‘autoload.php‘ diye bir PHP dosyası oluşmuş olması gerekiyor.

Not: Terminal veya komut satırında proje dizininde olmanız gerekiyor. Bunun için Windows’ta boş cd linux veya macintosh’ta pwd yazarak aktif olduğunuz yeri görebilir ve cd komutu ile proje dizininize gidebilirsiniz.

index.php’yi oluşturalım, ve içine aşağıdaki kodları yapıştırıp kaydedelim.

/index.php

Sayfayı çalıştırdığınızda my_app.log adında bir dosya oluşacak ve içinde

yazacak. Okuyup yaparken yavaş bir işlemmiş gibi geliyor fakat kullanacağınız paketleri bilip composer.json dosyanızı hızlıca hazırlarsanız zamanla çok kullanışlı olduğunu göreceksiniz.

Bu sadece kurulum aşamasıydı elbette. Kullandığımız paketlere güncelleme geldiğinde otomatik güncellemek için yapmamız gereken sadece

yazmak. Composer sizin için paketleri otomatik olarak güncelleyecektir. Benim gibi kendi repositorylerinizden çekecekseniz ve bir çok projede güncelleme yapacaksanız dosyaları tek tek güncellemenize gerek kalmaksızın composer’dan yardım alabilirsiniz.


Sürüm Seçimi

Yukarıda yaptığımız monolog kurulumunda sadece 1.0.* yani 1.0.[en üst versiyon] çağırdık. Development versiyonunu kurmak için dev-master, spesifik bir versiyonu çağırmak için direk versiyonu ya da en üst kararlı versiyonu çağırmak için asteriks * yazabilirsiniz.

Spesifik versiyonu kullanma;

 

Development versiyonunu kullanma;

 

Son kararli sürümü kullanma;


JSON Dosyası Oluşturmadan Başlangıç

Windows, Macintosh, Linux ayırt etmeksizin bazı durumlarda hata oluşmakta, bu hata genelde güvenlik/izin ile ilgili hatalardır. Eğer izinsel bir problem bulunmamakta ise komut satırını kullanarak direk başlangıç yapabilirsiniz. Şahsen daha çok komut satırı kullanan birisi olduğum için tavsiye edeceğim yöntem de bu…

composer help yazarak tüm composer komutlarını görebilirsiniz, ben sadece en ihtiyaç duyacaklarınızı göstereceğim.

require

Argüman belirtimi zorunlu değildir. Alabileceği argümanların hepsini değil, sadece çok kullandıklarım olan --dev ve --no-devi açıklayacağım diğerlerine buradan bakabilirsiniz;

–dev: Paketi require-deve ekler.

–no-dev: Güncellerken require-devdeki paketleri es geçer.

yayıncı/paket kısmında ise öncelikle (bildiğim kadarıyla) varsa VCS’lerinize, daha sonra packagist.org‘daki paketlere bakarak arama yapar.

versiyon argümanı da zorunlu değildir. Belirtmezseniz son stabil versiyonu hedef alır.

Bir kaç örnek yapalım;


install

install komutu require’dan farklıdır. Install sadece hazır composer.json dosyasındaki belirtilmiş paketleri kurmanıza yarar ve güncelleme işlevi yoktur. Yani eğer kurulum yaptıysanız kurulum yaptıklarınızı yeniden işlemeye çalışmaz (eğer farklı versiyon hedef göstermediyseniz tabîi), sadece kurulu olmayanları kurar.

require’da olduğu gibi parametrelere sahiptir. İncelemek için buraya bakabilirsiniz.


update

Adı üstünde güncelleme için kullanılır, eğer install yapmadıysanız install işlemi de yapar. Yine install ve require’da olduğu gibi parametrelere sahiptir, onun için ise buraya bakabilirsiniz.


Özel repositoryler için composer konusuna bir sonraki yazımda değineceğim. Buraya kadar olan kısımla ya da composer ile ilgili başka bir sorunuz varsa yorum atabilirsiniz ;)

Kolay gelsin