PHP Composer Kurulumu ve Kullanımı

Composer, popüler programlama dili olan PHP için bir paket yöneticisidir. Geliştiricilerin harici paketleri veya kütüphaneleri yönetmek ve PHP tabanlı projelerine entegre etmek için kullandıkları basit ve güvenilir bir araçtır. Böylelikle, geliştiricilerin websitelerini sıfırdan oluşturmalarına gerek kalmamaktadır. Makalemizde örnek bir proje üzerinden sistemin nasıl çalıştığına yönelik kodlamalarla konuyu daha iyi anlamanızı sağlayacagız.

Composer'ı nasıl kuracağınızı öğrenmeden önce, bilgisayarınızdaki veya sunucunuzdaki komut satırı arayüzüne erişiminiz olduğundan emin olunuz. Çünkü komutlarımızı komut istemcisi diğer adıyla terminaller üzerinden gireceğiz.

Composer Kurulumu

Bu kısımda, Php Composer'ı Linux, MacOS ve Windows gibi işletim sistemlerinde nasıl kuracağınızı göstereceğiz.
 

Linux veya MacOS işletim sisteminde Composer Kurulumu

Composer'ı Linux ve MacOS işletim sistemine sahip sunucu veya bilgisayarlara yüklemede kullanılan komutlar aynıdır. Composer'ı sisteminize nasıl kuracağınızı öğrenmek için aşağıdaki adımları izleyin;
 

  • Öncelikle komut satırını açıp aşağıdaki komutu kullanarak Composer'ı resmi web sitesinden indirin:
    #composerin resmi websitesinden indirilmesi
    php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
    
  • Yükleyici dosyanın bozuk olmadığından emin olmak için yükleyicinin imzasını (SHA-384) aşağıdaki kodu kullanarak doğrulayın:
    #yükleyici dosyanın doğrulanması
    php -r "if (hash_file('sha384', 'composer-setup.php') === 'c31c1e292ad7be5f49291169c0ac8f683499edddcfd4e42232982d0fd193004208a58ff6f353fde0012d35fdd72bc394') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
    

    Yukarıdaki komuttaki uzun karakter dizisi ("c31c1e292ad…") yükleyicinin imzasıdır. Composer'ın her yeni sürümü çıktığında bu kod değişir. Bu nedenle, bu sayfaya tıklayarak en son SHA-384'ü getirdiğinizden emin olun.

  • Son sürümün indirildiğini doğruladıktan sonra composer'i global veya local olarak kurabilirsiniz. Local kurulum, composerin mevcut dizininizde saklanacağı ve yükleme öncesi komutları çalıştırmadan önce dosya yolunu belirtmeniz gerektiği anlamına gelir. Global kurulum ise herhangi bir path tanımlamaya gerek kalmaksızın /usr/local/bin dosyası altında bulunan kurulum dosyalarının cihazın herhangi bir konumundan kuruluma izin vermesini sağlamaktadır. Her iki yöntemde şu şekilde gerçekleştirilir;
    #Local Kurulum
    php composer-setup.php
    
    #Global Kurulum
    php composer-setup.php --install-dir=/usr/local/bin --filename=composer
    
    Kurulum başarılı gerçekleştirildiği takdirde aşağıdaki ekranla karşılaşacaksınız...
    All settings correct for using Composer
    Downloading...
    
    Composer (version 1.10.5) successfully installed to: /usr/local/bin/composer
    
  • Başarılı yükleme işleminden sonra kurulumda kullanılan dosyayı kaldırmayı unutmayın.
    #Kurulum dosyasının silinmesi
    php -r "unlink('composer-setup.php');"
    
  • Şimdi de kurulumu test edelim.
    #Komut satırına bu komutu girin
    composer
    
    Çalışan komut sonrasında aşağıdaki şekilde bir ekranla karşılaşmanız gerekmektedir.
       ______
      / ____/___ ____ ___ ____ ____ ________ _____
     / / / __ / __ `__ / __ / __ / ___/ _ / ___/
    / /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
    ____/____/_/ /_/ /_/ .___/____/____/___/_/
                      /_/
    
    Composer version 2.0.4 2020-11-02 16:20:11
    

Windows işletim sisteminde Composer Kurulumu

Windows makinesinde Composer kurulumu Linux ve MacOS sistemlere göre biraz farklıdır. Yazılımın indirilmesi ve kurulması için herhangi bir komut satırı talimatı gerekli değildir.

Aşağıdaki adımları izleyerek kurulumu gerçekleştirelim.

  • Bilgisayarınıza PHP'yi kurun. Kurulumu basit olduğundan ve birkaç dakika içinde tamamlayabileceğinizden, XAMPP'yi kullanmanızı öneririz.
  • XAMPP kurulumu tamamlandıktan sonra Composer'in son sürümünü indirin.
  • Sonrasında composer kurulum sihirbazını çalıştırın. Geliştirici modunu etkinleştirmenizi istediğinde, onu yok sayın ve kurulum işlemine devam edin.
  • Başka bir pencere açılacak ve sizden PHP komut satırını bulmanızı isteyecektir. Varsayılan olarak, C:/xampp/php/php.exe gösterilmektedir. Konumu belirledikten sonra İleri'ye tıklayın.
  • Proxy ayarları için ayrı bir pencereye yönlendirileceksiniz. Kutuyu işaretlemeden bırakın ve İleri'ye basarak bu bölümü atlayın. Ardından, son pencerede Yükle'ye tıklayın.
  • Kurulumu tamamladıktan sonra komut istemini açın. CTRL + R tuşlarına basın, "cmd" yazın ve Tamam'ı tıklayın.

     
  • Son olarak aşağıdaki komutu girin:
    composer
    

Artık Windows bilgisayarınızda composer yüklü. Yükleyici, composer'i PATH değişkeninize otomatik olarak ekleyecektir. Artık komut istemini açabilir ve yazılımı her yerden çalıştırabilirsiniz.  

Composer.json dosyasının oluşturulması

Şu ana kadar makalemizde composer kurulumunun nasıl yapıldığını sizlerle paylaştım. Şimdi ilginç kısım geliyor - PHP projenizde composer'i nasıl kullanabiliriz. Bunu sağlamak için projenizde composer.json dosyası oluşturmanız gerekir. Bu dosya, projeniz için indirilmesi gereken paketleri (kütüphaneleri) içerir. Ayrıca bu dosya, projenizle ile alakalı sürüm uyumluluğunu da kontrol eder. Eğer eski bir kütüphane veya paket kullanıyorsanız, composer.json'ın gelecekteki sorunları önlemek için size haber vereceği anlamına gelmektedir.

composer.json dosyasını manual olarak sizde oluşturabilirsiniz. Ancak herşeyin otomatik olarak sunulduğu sistemde en iyisi tüm çalışmaların otomatik olarak kontrol edilmesidir.

Örnek bir proje oluşturarak composer.json'ın kullanılışını görelim. Projemiz, herhangi bir kod çalıştırıldığında geçen süreyi gösteren bir zamanlayıcı olsun. Aşağıdaki adımları izleyerek proje dosyalarını oluşturalım.

  • Projemizin için yeni bir dizin oluşturalım. Projemiz bir zamanlayıcı olduğu için, klasöre phpzamanlayici adını vereceğiz. Bunu yapmak için aşağıdaki komutu çalıştırın komut satırında:
    #phpzamanlayici klasörü oluşturun
    mkdir phpzamanlayici
    
  • Aşağıdaki komutla yeni dizine girin;
    #phpzamanlayici klasörünü girin
    cd phpzamanlayici
    
  • Proje için bir paket veya kitaplık bulun. Bunu başarmak için en iyi yer, proje geliştirmenize yardımcı olacak tonlarca kitaplık bulacağınız Packagist'tir. Projemiz için bir zamanlayıcı paketine ihtiyacımız var. Bunu elde etmek için arama çubuğuna timer yazmanız yeterlidir:

    Gördüğünüz gibi, arama sonucu birkaç zamanlayıcı paketi listelendi ve her birinin bir adı ve ne işe yaradığına dair küçük bir açıklaması vardır. Bu örnekte, en çok indirilen ve GitHub yıldızlarının çoğuna sahip olduğu için phpunit/php-timer'ı seçiyoruz.

  • Aşağıdaki komutu kullanarak composer in ilgili paketi yüklemesini sağlayın;
    #php-timer kütüphanesinin kurulumu
    composer require phpunit/php-timer
    
    Komut sonrasında aşağıdaki şekilde bir ekran ile karşılaşmanız gerekmektedir.
    Using version ^1.0 phpunit/php-timer
    

Yukarıdaki komutu çalıştırdıktan sonra, proje dizininizde iki yeni dosya (composer.json ve composer.lock) ve vendor adlı bir klasör olacaktır. vendor dizini, composer'in tüm paketlerinizi ve bağımlılıklarınızı depolayacağı dizindir.  

Autoload Scriptinin Kullanımı

Projede herşey yolunda görünüyor. Şu anda yapmanız gereken tek şey phptimer bağımlılığının PHP kodunuza yüklemesidir. Otomatik yüklemeyi kullanmak için, komut dosyanızda yeni değişkenler bildirmeden veya başlatmadan önce aşağıdaki satırı yazın;

require '/vendor/autoload.php'
Daha iyi anlamanız için size bir örnek göstereceğim. projenizde demo.php adında bir sınıf oluşturun.
nano demo.php
Bu dosya içerisine aşağıdaki kod satırını yapıştıralım.
<?php 
      
      require __DIR__ . '/vendor/autoload.php' 
      Timer::start();
      $time = Timer::stop(); 
      var_dump($time); 
      print Timer::secondsToTimeString($time);
?>
Sonrasında aşağıdaki komut satırını çalıştırın;
php demo.php
Terminalde aşağıdaki sonuçların görüntülenmesi gerekmektedir.
double(1.0893424438611E-5)
0 ms

Proje Bağımlılıklarının Güncellenmesi

Son olarak, paketlerinizi nasıl güncelleyeceğinizi bilmeniz gerekir. Bu, iki şekilde gerçekleştirilebilir:

  • Global güncelleme: Tüm paketleriniz ve bağımlılıklarınız için güncellemeleri bir defada kontrol etmek ve yüklemek için aşağıdaki komutu yazın;
    composer update
    
  • Paket bazlı güncelleme: Bir veya daha fazla belirli paket için güncellemeleri kontrol etmek için aşağıdaki komutu çalıştırın;
    composer update vendor/package vendor2/package2
    
    Komutta yer alan vendor/package alanını güncellemek istediğiniz paket ismi ile değiştirmeyi unutmayın.
Composer güncelleme komutunu çalıştırdığımız takdirde composer.json ve composer.lock dosyalarını proje bağımlılıklarınızın mevcut durumuyla eşleşecek şekilde güncellenir.
comments powered by Disqus