Composer Nedir ? Nasıl Kullanılır ?

Composer “Dependency Management” yani bağımlılık yönetimi yapan güzel bir araçtır. Projenizde kullanacağınız kütüphaneleri tek bir komut ile dahil etmenize güncellemenize veya kaldırmanıza yarar. Composer ciddi manada zaman kazandıran bir araçtır.

Packagist üzerinden yüzlerce pakete ulaşabilir veya kendiniz bir paket hazırlayıp sisteminize composer aracılığı ile dahil edebilirsiniz.Composer kullanabilmek için sisteminizde PHP 5.3 ve üzeri bir sürüm kullanmanız gerekmektedir.

Şimdi composer kullanımına bakalım. İncelemelerimiz LAravel PHP Framework üzerinde olacaktır.

https://packagist.org/ ‘u inceleyelim.

packagist
 
Kodlar https://github.com/ üzerinde duruyor.

github

Resimde gördüğünüz gibi packagist üzerine eklenmiş bir pakedim var ve composer için referansı "berk/sms": "dev-master" şeklinde. Packagist i kullanabilmek için geliştirdiğimziz paketleri github , bitbucket , kendi git sunucumuz , bir svn sunucusu gibi depolarda tutarak packagist e bu depoları gönderiyoruz.

Daha sonra github vb sistemler üzerinden kodlarımızı güncellememiz sıkıntı olmuyor. Güncellemelerden sonra pakedi de güncellemek isterseniz packagist.org a giriş yapıp paketinizin özellikerlinden force update butonuna basmanız yeterli olacaktır.

Laravel php framewok de ana dizinde bulunan composer.json dosyası bizim composer için belirlediğimiz ayarları saklamaktadır. Bu dosyanın içeriği şu şekildedir;

{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"type": "project",
"require": {
"laravel/framework": "4.2.*",
"cartalyst/sentry": "2.1.*",
"berk/sms": "dev-master"
},
"autoload": {
"classmap": [
"app/commands",
"app/controllers",
"app/models",
"app/database/migrations",
"app/database/seeds",
"app/tests/TestCase.php"
]
},
"scripts": {
"post-install-cmd": [
"php artisan clear-compiled",
"php artisan optimize"
],
"post-update-cmd": [
"php artisan clear-compiled",
"php artisan optimize"
],
"post-create-project-cmd": [
"php artisan key:generate"
]
},
"config": {
"preferred-install": "dist"
},
"minimum-stability": "stable"
}

Gördüğünüz gibi composer.json dosyasında aşağıda görüldüğü gibi pakedimizin packagist üzerindeki adını belirtmişiz.

"require": {
"laravel/framework": "4.2.*",
"cartalyst/sentry": "2.1.*",
"berk/sms": "dev-master",
},

Daha sonra projemizin içinde konsol ekranından composer update komutunu kullandığınızda composer paketleri güncelleyecek ve eklediğimiz yeni pakedi gerekli yerine koyacaktır. Denediğinizde laravel framewok de /vendor dizini altında berk/sms şeklinde pakedimizin oluştuğunu görebilirsiniz. laravel ile paket geliştirme konusunu merak ediyorsanız Laravel Paket Geliştirme adlı yazımı okuyabilirsiniz.
Aynı şekilde paket bilgisini composer.json dosyasından kaldırıp composer update komutunu kullandığınızda paket sistemden kalkacaktır.

Composer’ı sistmeinize nasıl kuracağınızı merak ediyorsanız isimli yazımı okuyabilirsiniz.

Bir Cevap Yazın

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