Composer PHP

Merhaba Arkadaşlar ,

Bu yazımda “Composer” kullanımından bahsedeceğim.  Amaç olarak, geliştirilmiş bir projenin updatelerini sağlamak ve kurulumunu kolaylaştırmak olduğunu söyleyebiliriz. Örneğin basit bir framework geliştirdik bu tabiki kendi kütüphaneniz bile olabilir. Şimdiye kadar kullandığınız bütün kütüphaneleri yoplayıp bir paket yapma imkanı sağlıyor ve en avantajlı yanı da  başka kütüpnalere bağımlı bir projeniz var ise 1 satır kod ile update yapmanızı sağlıyor.  Bana oldukça “Maven” i çağrıştırdı temel farklar dışında belirli standart oluşturmayı hedefleyen güzel bir opensource proje olmuş.  Sözü fazla uzatmadan kuruluma geçelim.

Not: yazının buradan sonrasını windows üzerine kurulum ile devam edeceğim linux kullanıcıları için kurulumu siteden takip edebilirsiniz.

 

Kuruluma başlamadan önce Apache PHP Server’a sahip olmalısınız.  Google da arama ile “XAMPP”  veya “WAMP” kurulumunu kolayca bulabilirsiniz. Sanırım artık Apache’miz hazır.

http://getcomposer.org/download/   –> Bu linkten Composer-setup.exe dosyasını indirin.

 

Kurulumu yaparken “php.exe” nin bulunduğu dosya yolunu bulun. Benim bilgisayarımda xampp kurulu  ve dosya yolum “C:\xampp\php\php.exe”

 

composer

 

Artık kullanıma hazırız. Composer kullanırken önemli iki dosya var oda “composer.json” ve “composer.lock”.   Aşağıda örnek bir composer.json dosyası var.

{
    "name": "mailgun/mailgun-php",
    "description": "The Mailgun SDK provides methods for all API functions.",
    "require": {
        "guzzle/guzzle": "3.7.*"
    },
    "require-dev": {
        "phpunit/phpunit": "3.7.*"
    },
    "autoload": {
        "psr-0": {
            "Mailgun\\Tests": "tests/",
            "Mailgun": "src/"
        }
    },
    "license": "MIT",
    "authors": [
        {
            "name": "Travis Swientek",
            "email": "[email protected]"
        }
    ],
    "minimum-stability": "stable"
}

 

Gördüğünüz gibi hazırlanan kütüphane ile ilgili olarak   tanımlama , yazar , lisans , gerekli kütüphaneler ile ilgili ayrıntılı bilgiler bulunuyor. “Composer.lock” dosyasında ise kullandığımız depencies kütüphaneler bulunuyor. Örnek bir dosya aşağıdaki linkte mevcut.    https://github.com/composer/composer/blob/master/composer.lock

Geliştirmekte olduğum projede mailgun SDK ‘sını kullanmam gerekmişti. https://github.com/mailgun/mailgun-php buradan dosyayı indirerek sizde composer üzerine örnek bir proje kurabilirsiniz.  İndirdiğiniz github projesini “C:/xampp/htdocs” içine kendi public dosya yolunuza atın.

Buradan sonrasını console la devam ediyoruz.

cd /xampp/htdocs/mailgun   -> Projenin bulunduğu dizine gidin

php -r "eval('?>'.file_get_contents('https://getcomposer.org/installer'));"

composer.json da tanımlı olan kütüphaneler artık composer.phar isimli bir dosyada oluşturulacak.

php composer.phar install

komutu ile de vendor/autoloader.php  klasörü oluşacak ve artık indirmiş olduğunuz framwork kullanıma hazır..

console

 

 

Sizde en çok kullandığınız kütüphaneleri github’a atarak her defasında copy-paste yapmak kurtulabilirsiniz.

 

Kolay Gelsin Muharrem Tığdemir..

 

Yazımı hazırlarken faydalığım kaynaklar

http://www.cangelis.com/php-composer-nedir-nasil-kullanilir/

http://getcomposer.org/

https://github.com/mailgun/mailgun-php

http://blog.mailgun.com/post/the-php-sdk-the-first-of-many-official-mailgun-sdks/