Composer Nedir? Kurulumu ve Kullanımı

PHP ile uygulama geliştirirken kullanılan Composer Paket Yöneticisi nedir, kurulumu ve kullanımı ile ilgili bilgiler yer almaktadır.

Composer nedir?

PHP ile uygulama geliştirirken kullanılan bileşen, sınıf veya eklenti olarak adlandırılan paketlerin yönetimini sağlamaktadır.

PHP ile uygulama geliştirirken uygulamanın daha hızlı tamamlanması için başka geliştiriciler tarafından hazırlanmış paketleri kullanabiliriz.

Örneğin; PHP PDO Kullanımı yazısında anlattığım metotların kullanımı işlevsel gelmeyebilir veya ORM denilen daha kolay bir yapıyı kullanmak isteyebilirsiniz.

Geliştirme sırasında ORM yapısını kendimiz yazabiliriz ancak yazdığımız ORM yapısının esneklik, genişletilebilirdik, kullanılabilirlik gibi ihtiyaçları karşılaması beklenir.

Bu ihtiyaçların karşılanması geliştirmeyi uzatabilir.

Bu durumda başka geliştiriciler tarafından hazırlanmış paketlerin kullanımı faydalı olacaktır.

Veritabanı işlemleri için ORM yapısı sunan doctrine paketini kullanabiliriz.

Ancak paketi indirmeye ve proje dahil etmeye (autoload) kalktığımıza zaman alabilir.

Ayrıca güncellemeleri takip edilmesi de gerekebilir.

Composer paket yöneticisi bu duruma çözüm oluyor.

Composer ile laravel, doctrine vb. paketlerin kurulumu, otomatik yükleme (autoload) işleminin yapılması ve güncellemelerin tek komut ile yapılmasını sağlıyor.

Composer kurulumu

Composer kurulumu işletim sistemine göre farklılık gösterse de temel olarak kullanılan işletim sistemine yüklenen bir uygulama gibi kurulur.

Windows composer kurulumu

Windows işletim sistemine yüklemek için aşağıdaki adreste yer alan yükleme dosyası ile kolay bir şekilde yapılabilir.

https://getcomposer.org/Composer-Setup.exe

Linux composer kurulumu

Linux işletim sistemine yüklemek için aşağıdaki komut kullanılabilir.

curl -sS https://getcomposer.org/installer | php

PHP yüklü ise aşağıdaki komut kullanılabilir.

php -r "readfile('https://getcomposer.org/installer');" | php

Kurulum tamamlandıktan sonra aşağıdaki komut ile composer komutunun her yerden çalışması sağlanır.

mv composer.phar /usr/local/bin/composer

Kurulum kontrolü

Kurulum başarılı bir şekilde tamamlandıysa aşağıdaki komut ile kontrol edilir.

composer --version

Composer kullanımı

Kurulum global olarak yapılmışsa aşağıdaki gibi kullanılır.

composer komut --parametre

Kurulum local olarak yapılmışsa aşağıdaki gibi kullanılır.

php composer.phar komut --parametre

composer.json oluşturmak

Geliştirilen uygulama ile ilgili bilgiler composer.json dosyasında yer alır.

Composer ile uygulama geliştirirken uygulama hakkında bilgi içeren composer.json dosyasının oluşturulması iyi bir geliştirme ve uygulanmanın taşınabilir olması için gereklidir.

Uygulama ile ilgili bilgilerin yer aldığı composer.json dosyasını oluşturmak için init kullanılır.

composer init

Komut çalıştıktan sonra composer.json dosyasına yazılacak bilgilerin adım adım girilmesi isteyecektir.

Composer paketleri

Çeşitli geliştiriciler tarafından hazırlanmış paketler www.packagist.org adresinden ihtiyacınıza göre olan paketi bulabilir ve paket hakkında bilgi alabilirsiniz.

Ayrıca komut yorumlayıcısına search komutunu yazarak ihtiyacınıza uygun paketi bulabilirsiniz.

composer search <paket_adi>

Composer paket yükleme

Geliştirdiğiniz uygulama için ihtiyacınıza göre paket bulduktan sonra require ile indirilir.

composer require <paket_adi>

Composer uygulama klasörü içerisinde vendor klasörünü oluşturacak ve paket için gerekli olan dosyaları indirecektir.

İndirilen paketlerin içerisinde Composer tarafından desteklenen otomatik yükleme desteği (autoload) ile paketler projeye dahil edilir.

Paketleri projeye dahil etmek için aşağıdaki komut satırının eklenmesi yeterli olacaktır.

<?php

require_once './vendor/autoload.php';

?>

Composer ile uygulama geliştirirken kullanılan çeşitli geliştirme araçları composer.json dosyasında require-dev alanına eklenir.

Bu alan uygulamanın geliştirilmesi sırasında phpunit, php_codesniffer gibi test ve toplu işlem gibi geliştirici paketlerinin kullanıldığını ifade eder.

Geliştirilen uygulamada kullanılacak geliştirme paketini composer.json dosyasına eklemek için –dev parametresi kullanılır.

composer require <paket_adi> --dev

Composer global paket yükleme

PHP ile uygulama geliştirirken bazı paketler sıklıkla kullanılır.

Bu paketlerin her zaman indirilmesi yerine global klasörüne indirilerek her uygulamada kullanılması sağlanır.

PHP ayrıca phpunit, php-cs-fixer, wp-cli gibi komut satırında çalışan uygulamalara da sahiptir.

Bu paketler global klasöre indirilerek işletim sistemindeki komut yorumlayıcısında çalıştırılır.

Bir paketin global olarak indirmek için global kullanılır.

composer global require <paket_adi>

PHP  ile uygulama geliştirirken yazılan kodları biçimlendirmek için php-cs-fixer paketini kullanabiliriz.

composer global require friendsofphp/php-cs-fixer

Paket ile bir dosyanın kodlarını biçimlendirmek için komut yorumlayıcısına aşağıdaki komutu yazmak yeterli olacaktır.

php-cs-fixer fix test.php

Composer paketleri listeleme

Yüklenen paketleri listelemek için show kullanılır.

composer show

Komut uygulama içerisinde indirilen paketleri listeleyecektir.

Composer ile indirilmiş global paketleri listelemek için global show kullanılır.

composer global show

Komut indirilen global paketleri ve global paketlerin kullandığı paketleri listeleyecektir.

Sadece global paketleri listelemek için -s parametresi kullanılır.

composer global show -s

Composer paket güncelleme

İndirilen paketleri güncellemek için update kullanılır.

composer update

Sadece bir paketi güncellemek için paket adının yazılması yeterli olacaktır.

composer update <paket_adi>

Composer ile global klasörüne indirilen paketleri güncellemek için global update kullanılır.

composer global update

Sadece bir paketi güncellemek için paket adının yazılması yeterli olacaktır.

composer global update <paket_adi>

Composer paket kaldırma

İndirilen paketleri kaldırmak için remove kullanılır.

composer remove <paket_adi>

Composer ile global klasörüne indirilen paketleri kaldırmak için global remove kullanılır.

composer global remove <paket_adi>

Tüm paketleri indirmek

Geliştirilen uygulama başka bir bilgisayara composer.json dosyası ile birlikte taşındıktan sonra install ile gerekli olan tüm paketler indirilir.

composer install

Proje oluşturmak

Composer ile CodeIgniter, Laravel, Drupal gibi hazır framework yapılarını kullanarak proje yapısı oluşturmak için create-project kullanılır.

composer create-project

Komut istenilen framework yapısını verilen parametreye göre kuracaktır.

Örneğin; Laravel kullanarak proje oluşturmak için aşağıdaki komut kullanılır.

composer create-project --prefer-dist laravel/laravel blog

Komut laravel yapısını blog klasörüne/dizinine oluşturacaktır.

Uygulamayı başlatmak

Gerekli tanımlamalar composer.json dosyasındaki scripts bölümü eklenmişse run-scripts ile uygulama otomatik çalıştırılır.

composer run-scripts

Diğer komutlar

Composer içerisinde yer alan diğer komutlar için list kullanılır.

composer list

Composer komutları ile ilgili detaylı bilgi almak için help kullanılır.

composer help <komut_adi>

Hayırlı günler dilerim.

Yusuf SEZER

Yusuf SEZER

Computer Engineer who interested about web technologies, algorithms, artificial intelligence and embedded systems; constantly exploring new technologies.


Bunlara'da bakmalısın!