Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PHP Senfoni Orkestrası: Composer

PHP Senfoni Orkestrası: Composer

Modern PHP'nin olmazsa olmaz bağımlılık yöneticisi olan "Composer" hakkında kısa bir bilgilendirme sonrasında faydaları ve kullanım ipuçları konularından bahsedilmiştir.

Hidayet Doğan

May 22, 2016
Tweet

More Decks by Hidayet Doğan

Other Decks in Programming

Transcript

  1. PHP SENFONİ ORKESTRASI
    HİDAYET DOĞAN

    View Slide

  2. PHP SENFONİ ORKESTRASI
    • Şefler

    Nils Adermann

    Jordi Boggiano
    • Anlatıcı

    Hidayet Doğan

    View Slide

  3. ŞEFLER: NILS & JORDI
    phpBB Monolog

    View Slide

  4. ANLATICI: HİDAYET DOĞAN
    • 1998 yılından itibaren PHP
    • 1999 yılından itibaren iş
    hayatı
    • Kurucu Ortak

    @ Yazılım Parkı
    • Yazılım ve Sistem Uzmanı

    @ İ. D. Bilkent Üniversitesi

    View Slide

  5. NEDİR?
    Composer, PHP için bir bağımlılık
    yöneticisi aracıdır.
    Projenizin bağımlı olduğu kütüphaneleri
    tanımlamanızı sağlar
    ve sizin için bu bağımlılıkları yönetir.
    https://getcomposer.org/doc/00-intro.md#introduction

    View Slide

  6. NEDEN?
    • Tutarlı kütüphane ve araçları kullanma arzusu

    gereksinimi?
    • Bağımlılıkların bağımlılıkları

    a.k.a. inception
    • Ekibin tutarlı sürümleri kullanılması
    • Proje bazlı ya da global bağımlılık yönetimi
    • Kurulum öncesi / sonrası görevler

    View Slide

  7. NASIL?
    Tüketici Sağlayıcı
    composer.json
    composer require cakephp/cakephp:”~3.2”

    View Slide

  8. NASIL?
    composer install
    composer.json
    Keşfet
    packagist.org
    İndir
    git/svn
    Kur
    “vendor” dizini
    composer.lock

    View Slide

  9. KEŞFET
    http://packagist.org
    16/05/2016 ~ https://packagist.org/statistics
    +96000 PAKET
    +510000 SÜRÜM
    +2000000000 KURULUM

    View Slide

  10. DOĞRU SÜRÜMÜ SEÇMEK
    1.2.3
    Major Minor Patch
    Geçmişe
    Uyum
    Garantisi
    Yok
    Yeni
    Özellikler
    Hata
    Ayıklama
    &
    Yamalar

    View Slide

  11. DOĞRU SÜRÜMÜ SEÇMEK
    “monolog/monolog”: “*”

    View Slide

  12. DOĞRU SÜRÜMÜ SEÇMEK
    “monolog/monolog”: “dev-master”

    View Slide

  13. DOĞRU SÜRÜMÜ SEÇMEK
    “cakephp/cakephp”: “~3.2”
    >= 3.2.0, < 4.0.0
    “cakephp/cakephp”: “~3.2.4”
    >= 3.2.4, < 3.3.0

    View Slide

  14. DOĞRU SÜRÜMÜ SEÇMEK
    “cakephp/cakephp”: “^3.2.4”
    >= 3.2.4, < 4.0.0
    “ornek/kutuphane”: “^0.3.0”
    >= 0.3.0, < 0.4.0

    View Slide

  15. DOĞRU SÜRÜMÜ SEÇMEK
    “cakephp/cakephp”: “3.2.*”
    >= 3.2.0, < 3.3.0
    “ornek/kutuphane”: “>= 1.0 < 1.1 || >= 1.2”
    https://getcomposer.org/doc/articles/versions.md

    View Slide

  16. TUTARLILIĞI SAĞLAMAK
    composer.lock
    composer.json
    composer.lock
    Oku
    Karşılaştır
    İndir & Kur
    composer.json
    composer.lock
    Oku
    Son Sürümü İndir & Kur
    Güncelle
    composer install composer update

    View Slide

  17. ÜRETİME GEÇME
    composer install —prefer-dist —no-dev —optimize-autoloader
    • install

    tutarlı sürümleri kur (composer.lock kullanarak)
    • prefer-dist

    dağıtım paketlerini indir, mümkünse ön bellekten kur
    • no-dev

    “require-dev” paketlerini kurma
    • optimize-autoloader

    PSR0 PSR4 otomatik yükleme sınıf haritasını oluştur

    View Slide

  18. ÖZEL PAKETLER
    Satis
    Toran Proxy
    Private
    Repository
    Public
    Repository
    Packagist
    Proxy

    View Slide

  19. PHP SENFONİ ORKESTRASI
    04/05/2016 ~ Kararlı Sürüm: 1.0.0

    View Slide

  20. SORULAR?

    View Slide

  21. KAYNAKLAR
    • getcomposer.org
    • packagist.org
    • toranproxy.com
    • github.com/composer/satis
    HI.DO
    • http://hi.do
    • @hdogan
    • github.com/hdogan
    • speakerdeck.com/hdogan
    • tr.linkedin.com/in/hdogan
    HİDAYET DOĞAN

    View Slide