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”
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..
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/
https://github.com/mailgun/mailgun-php
http://blog.mailgun.com/post/the-php-sdk-the-first-of-many-official-mailgun-sdks/
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.. !!!
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.