Composer Logo

Composer Kurulumu ve Kullanımı

Bu yazımda Php için bağımlılık yöneticisi olan Composer’ın kurulumunu ve kullanımı anlatacağım. Öncelikle composer’ın ne olduğundan bahsedeyim.

Composer, az önce de söylediğim gibi php için bağımlılık yöneticisi (dependency manager for PHP). Diyelim ki bir projenize, bir php kütüphanesi indireceksiniz. Ancak bu PHP kütüphanesinin birçok bağımlılığı var. Yani bunu yapan yazılımcılar, başka kütüphaneleri de kullanarak bu indireceğiniz kütüphaneyi oluşturmuşlar. Siz direk bu istediğiniz kütüphaneyi indirirseniz, indirdiğiniz kütüphanenin muhtemelen, bir sınıfı, bir fonksiyonu ya da bir değişkeni bulamadğına dair hata alırsınız. Eskiden olsa geliştiricinin notu kısmında bu bağımlılıklar listelenirdi. Artık bu gerekmiyor. Composer işte tam bu işi yapıyor. Sizin yerinize diğer paketleri de indiriyor.

Composer’ın web sitesine girdikten sonra download menüsüne tıklıyoruz. Windows kullanıyorsanız, composer-setup.exe’yi indirin, eğer kullanmıyorsanız, Command-line Installation adımlarını takip edin. “Command-line istemiyorum ben arkadaş” diyorsanız, aşağıda “Manual Download” bölümünden son sürümü indirin.

Windows için,

İnen .exe dosyasına tıklayıp Composer’ı command-line’dan kullanacak hale getirebilirsiniz, aynı bir oyun kurmak gibi bu kısım.

Linux için,

Composer.phar isimli bir dosya indi. Bunu /usr/local/bin klasörüne göndermemiz gerekiyor, ki her klasörde command-line’a composer yazabilelim. Terminali açtık.

cd ../Downloads
sudo move composer.phar /usr/local/bin/composer

Bu kod satırlarını girdiğimizde composer’ı evrensel kurmuş olduk.

Şimdi gelelim, composer’ın kullanımına. Ben Laravel’in default-package halini indireceğim.

cd /var/www/html/
composer create-project laravel/laravel benimprojem --prefer-dist

Bu iki kod satırını yazdıktan sonra composer çalışacak ve Laravel’i bütün paket gereksinimleriyle beraber indirecek. “laravel/laravel benimprojem” kısmında composer’a söylediğimiz şey packagist.org’ta (composer’ın default repository’si)  laravel adlı kullanıcının laravel isimli projesini “benimprojem” isimli klasöre indirmesi. “–prefer-dist” ise, tercih edilen sürüm demek, genelde stabil olan son sürüm iner.

“benimprojem” klasörüne girdiğinizde composer.json isimli bir dosya göreceksiniz. Bu dosya laravel’in bağımlılıklarının olduğu ve kendi bağımlılıklarınızı oluşturabileceğiniz dosya. Composer’la indirilen her pakette bu dosya mevcut. Şimdi bizim controllerlarda kullanacağımız ve olmazsa olmazımız olabileceğini düşündüğümüz bir paket kuralım. Örneğin cartalyst’in sentinel paketini kurabiliriz.

Önümüzde iki seçenek var. Ya command-line’dan composer’a hangi paketi kurmamızı isteyeceğimizi ve bunu kurarken paketin ismini composer.json dosyasına yazmasını söyleyeceğiz, ya da composer.json’ın require kısmına paketin adını ve sürümünü yazıp, composer’a composer.json’ı yeniledim, dosyalarımı update et diyeceğiz.

1.yol,

composer  require cartalyst/sentinel "2.0.*"

Bunu yazdıktan sonra composer bu paketi vendor klasörüne indirecek ve composer.json’ın require kısmına, `”cartalyst/sentinel”:”2.0.*”` yazacak.

2. yol,

composer.json dosyamızın require kısmına

"cartalyst/sentinel" : "2.0.*"

yazalım. Sonra command-line’dan benimprojem klasörü içerisinde “composer update” yazdığımızda bu paket vendor klasörüne inecek.

Ayrıca app klasöründen farklı bir klasörün içindeki sınıfların otomatikman require edilmesini istiyorsanız, classmap kısmına istediğiniz klasörün uzantısını yazıp, örneğin “app/Models”, command-line’dan

composer dump-autoload

yazmanız yeterli olacaktır.

 

Bu yazıyı paylaş

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir