Composer PHP için geliştirilmiş bir Paket Yöneticisi‘dir. Bir framework’ün veya bir bileşenin bağımlı olduğu diğer bileşenleri ve gereksinimleri yönetir.
Kullanmak istediğiniz projenizin içinde veya framework'ün içerisinde aşağıdaki gibi composer.phar
dosyasını indiriyoruz:
curl -sS https://getcomposer.org/installer | php
İndirilen composer.phar
dosyasını global olarak her yerden composer
adı altında kullanmak için taşıma yapıyoruz:
mv composer.phar /usr/local/bin/composer
İndirdiğimiz composer.phar
dosyası composer.json
dosyasının içersindeki paketlerin versiyonlarına göre okuyup indirir. Yani composer.json
gerekli paketlerin tanımlandığı dosyadır.
Ör.:
composer.json
{
"name": "barak-framework/barak",
"type": "project",
"description": "Barak Framework",
"keywords": ["barak", "turkmen", "framework"],
"homepage": "https://github.com/barak-framework/barak",
"license": "MIT",
"authors": [
{
"name": "Gökhan DEMİR",
"email": "gdemir3327@gmail.com",
"homepage": "https://gdemir.github.io",
"role": "Developer"
}
],
"require": {
"php": ">=5.4.0",
"phpmailer/phpmailer": "~5.2"
}
}
yukarıdaki örnekte olduğu gibi projenin gereksinimlerinde php ve phpmailer gözükmektedir:
"require": {
"php": ">=5.4.0",
"phpmailer/phpmailer": "~5.2"
}
Projenin içine indirdiğimiz indirdiğimiz composer
gerekli paketlerin kurulumunu yapacağız, bunun için aşağıdaki komutu kullanıyoruz:
composer install
yukarıdaki komut ile ilgili projemizin içerisinde aynı dizindeki composer.json
dosyasını okuyup ilgili paketleri vendor/
altına indirecektir. Bu paketlerin belli bir formata göre okuyan vendor/autoload.php
ana yükleyici dosyası da inmiş olacaktır. Bu dosyayı nerede kullanırsak tüm paketleri otomatik yükleyemiş olacaksınız bunun için ilgili php
dosyanızın içerisinde aşağıdaki komutu eklemeni yeterli olacaktır:
require "vendor/autoload.php";
Evet buraya kadar her şey tamam artık istenilen tüm paketlerin sınıflarını çağrıldığı yerde kullanabilirsiniz!
composer.json
sahip projenin içersindeyken composer.lock
dosyasını silin:
sudo rm -rf composer.lock
daha sonra gerekli paketi örnek olarak şekilde kurabilirsiniz:
composer require phpmailer/phpmailer
bu komut composer.json
içersindeki required
hashine ekleme yapar ve vendor
dizinin içersine istenilen paketi yerleştirir. Bu şekilde ilgili pakete erişebilirsiniz.
http://www.teknomavi.com/yazilim/php/composer-paket-yoneticisi-nedir-nasil-kurulur-nasil-kullanilir/