Composer nedir ?

Son zamanlarda sıkça gördüğünüz “Composer” nedir ve nasıl kullanılır makalemize hoşgeldiniz. Öncelikle composer’ın en genel tanımı “php için mükemmel bir paket yöneticisidir”

Peki bu tam olarak nedir ? Bildiğiniz gibi PHP’de diğer birçok dil gibi bir dizinde modülleri listeleyip tek tıkla kuramıyorduk. Phpclasses gibi sitelerde aradığımız hazır paketler var ise indirmek, kurmak, autoloaderlarını halletmek v.s gibi birçok işlem yapmamız gerekiyordu.

Hatta kendimiz de bir paket oluşturmak istediğimiz de bütün kodları toplayıp birçok kontrolden geçirmemiş gerekiyor. PHP sürümü şu olsun, Mysql sürümü şu v.s gibi birçok kontrolden geçiriz kullanıcıya sunmamız gerekiyordu.

İşte Composer bütün bu sorunları bizden alıyor. İngilizce açıklamasıyla “Dependency management” olarak çıkan Composer bir nevi “Zorunluluk Yöneticisi”dir.

Bu makalemizde Composerı windows üzerinde yükleyip nasıl kullanacağımızı öğreneceğiz.

Composer nasıl kurulur ?

Composer kurmak oldukça basittir. https://getcomposer.org adresine girerek download bölümüne gidiyoruz.

Composer Download Page

Buradan Windows için gerekli olan Composer-Setup.exe dosyasını indiriyoruz.

Composer Windows Download Link

Şimdi kuruluma geçelim. Composer-Setup.exe dosyasına çift tıklayarak devam ediyoruz. 2. adımda size php.exe’nin bulunduğu yolu soracaktır. Burası önemli! Normalde kendisi buluyor ancak bulamadığı zamanlara da denk gelmiştim.

Composer Select Version

Eğer başka bir php yolu seçmek istiyorsanız aşağısında bulunan “Choose a different php.exe from the one in your path” opsiyonuna tıklayarak seçebilirsiniz. Ancak kendisi bulduysa dokunmamanızı tavsiye ederim.

Burada çok önemli bir nokta var. Eğer php.ini ayarlarınızda OpenSSL modülü aktif değilse Composer yüklenmeyecektir. Yüklemeye başlamadan önce mutlaka OpenSSL modülünün açık olduğunu doğrulayın.

Kurduk peki şimdi neler yapabiliriz ona bakalım.

Composer’ın tüm paketlerini https://packagist.org adresinde bulabilirsiniz. öncelikle bir komut penceresi açalım!

Composer için Komut Penceresi

Evet gördüğünüz gibi windowsumda bulunan LAMP klasörüme gittim. Şimdi işimiz çok basit https://packagist.org/ adresinden bir paket seçiyorum. Ben composerın en popüler paketini seçiyorum. Yani psr/log en kısa tanımıyla basit bir kayıt yöneticisi.

Şimdi komut satırına “composer require psr/log” yazıyorum.

Composer Psr/log install

Evet şuanda işlemlerim tamamlandı. Peki composer-test klasörümüze bakalım neler olmuş;

Composer Install After Folder

Evet gördüğünüz gibi 2 adet dosya 1 adet klasör gelmiş. composer.json dosyasının içeriği şu şekilde ;

{
    "require": {
        "psr/log": "^1.0"
    }
}

Burada bizim kodlarımız için gerekli olan paketleri yazıyoruz. Composer.json dosyası için birçok opsiyon mevcut hepsi şuradan görebilirsiniz. Eğer “composer require paket/paket_adi” gibi uğraşmak istemiyorsanız. İstediğiniz paketin adını composer.json dosyasına yazarak cmd satırında “composer self-update” yazarsanız composer sizin için gerekli olan paketleri indirecektir.

Paketler nasıl kullanılır?

Composer’da bütün paketler vendor/ dizininin içinde olur ve tek bir autoload.php dosyası ile hepsine ulaşabilirsiniz. Örnek verdiğimiz psr/log dosyasından gidersek index.php dosyanızı şu şekilde yapabilirsiniz;

<?php require 'vendor/autoload.php';

use Psr\Log\LoggerInterface;

class Foo
{
    private $logger;

    public function __construct(LoggerInterface $logger = null)
    {
        $this->logger = $logger;
    }

    public function doSomething()
    {
        if ($this->logger) {
            $this->logger->info('Doing work');
        }

        // do something useful
    }
}

Soru ve sorunlarınızı yorum atarak belirtirseniz yardımcı olurum.


Bir Cevap Yazın

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.