Composer PHP Kullanımı

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ştridik 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 kütüphane 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/

2 Comments

  • ibrahim

    February 24, 02 2015 08:49:32

    Running it from the command line might highlight the problem.
    Internal Error [ERR_INVALID], exit code 0

    bu hatayı aldım ne yapmalıyım.. !!!

    • Muharrem Tığdemir

      February 28, 02 2015 09:19:50

      Merhaba İbrahim,
      Composer php ve Curl ile çalışıyor. Muhtemelen XAMPP veya WAMP hangisini kullanıyorsan onların kurulumunu tekrar yapmalısınız. Global Composer kullanımında hata alıyorsanız. Composer.phar dosyasını https://getcomposer.org/doc/00-intro.md#locally indirdikten sonra bulunduğunuz dizinde “php composer.phar install” şeklinde kullanabilirsiniz.

Leave a Reply