Symfony2 – Ek Kutuphaneleri Yonetmek

Symfony2 için kullanılan ek kütüphaneleriyle tek bir bilgisayarda çalışırsanız sorun yaşamayabilirsiniz. Fakat canlı bir ortama ve ya başka bir yazılımcının bilgisayarına kurmak istediğinizde, hangi kütüphanenin hangi versiyonunu kurduğunuzu unutabilirsiniz ya da zamanla herkes farklı bir versiyona sahip olabilir. Ayrıca ek kütüphane klasörünüz fazlasıyla şişeceği için kullandığınız git deposunda gereksiz yer kaplar.

Hataları önlemek ve işleri kolaylaştırmak için Symfony2 ile birlikte ek kütüphanelerinizin versiyonlarının yönetildiği bir dosya ve bunun için tek basit bir komutla çalıştırabileğiniz bir program geliştirilmiş. Bu program git versiyon kontrol sistemini kullanıyor, dolayısıyla git sisteminin bilgisayarınızda yüklü olması gerekiyor. Eğer git yüklü değilse Windows’ta yüklemek için şuradaki talimatları izleyebilirsiniz.

deps Dosyası ve bin/vendors komutu

Öncelikle Symfony2 framework şu adresten ek kütüphaneler olmadan (without vendors) indiriyoruz, arşiv dosyasını açıyoruz. Arşivin açıldığı  klasörde deps ve deps.lock isminde 2 adet dosya göreceksiniz. Deps dosyasındaki her bir blok ek kütüphaneleri göstermekte ve ek kütüphaneler kurmak için kullanacağımız program bu dosyayı okuyor. Deps.lock dosyası ise yüklediğiniz kütüphanenin git tarafından oluşturulan ve o commit’e ait commit-hash bilgisini (burada bahsetmiştim) tutuyor.

Peki yeni bir kütüphane yüklemek için ne yapacağız? Oldukça basit, deps dosyasına yeni bir kayıt gireceğiz. Deps dosyasına göz atarsanız kayıtlar genel olarak şöyledir:

[FOSUserBundle]
 git=git://github.com/FriendsOfSymfony/FOSUserBundle.git
 target=bundles/FOS/UserBundle
 version=1.2.0

Bu blokta [] içindeki bilgi ek kütüphanemizin ismini gösterir. Eğer target parametresiyle herhangi bir klasör belirmediyseniz varsayılan olarak burada verilen isimde bir klasör yaratılır ve dosyalar bu klasöre indirilir.

git=<git_repo_url> kısmına yazılan adres kısım ek kütüphanenini alınacağı adresi gösterir. Bu adrese git ve http/https ile başlayan kütüphane adreslerini girebilirsiniz. Gerekli olan parametreler aslında bu kadar, fakat diğer parametrelere de göz atalım.

target=<vendor_target> kısmında kütüphane dosyalarının indirileceği klasörü giriyoruz. Buraya girilen klasör <proje_klasörü>/vendor altında yaratılıyor.

Son olarak version= <versiyon> kısmında ise bir kütüphane için belli bir versiyon ve ya branch belirtebiliyoruz.

Deps dosyasında kayıtlı olan ek kütüphaneleri indirmek için proje klasörüne geçtikten yapmamız gereken sadece aşağıdaki komutu çalıştırmak:

php bin/vendors install

Bu komuttan sonra eğer vendor klasörünüzde hiçbir klasör görmezseniz ve ya klasörleriniz hepsi boşsa, git sistemini işletim sisteminize düzgün kuramamış olabilirsiniz. Eğer bazı kütüphaneler yüklenemiyorsa tekrar denediğinizde bunlar da yüklenecektir. İlk kez çalıştırdığınızda bu işlem zaman alabilir, sabırlı olun 🙂

Sistem Nasıl İşliyor?

Peki sistem nasıl işliyor, yukarıdaki komutu çalıştırdığımda neler oluyor diyenler için aşağıdaki şemayı hazırladım. Ek kütüphanelerimiz hayırlı olsun 🙂

vendors script flowchart

 

3 Comments

    Symfony2 – Ek Kutuphaneleri Yonetmek « Musa Usta'nın Yeri

    […] bilgisayarına kurmak istediğinizde, hangi kütüphanenin hangi ve… Devamı için : Symfony2 – Ek Kutuphaneleri Yonetmek Share this:TwitterFacebookLike this:BeğenBe the first to like this post.   Leave a […]

    Symfony2 – Ek Kutuphaneleri Yonetmek | Kara Kule

    […] bilgisayarına kurmak istediğinizde, hangi kütüphanenin hangi ve… Devamı için : Symfony2 – Ek Kutuphaneleri Yonetmek Share this:TwitterFacebookLike this:BeğenBe the first to like this post. By ahmet orsorlu […]

    Sedat KOCADOĞAN

    Boğaç Merhaba, Symfony2 ile ilgilenen birilerini bulmak çok güzel.
    http://skocadogan.blogspot.com/2012/04/symfony2-belgeleri-turkcelestirme.html
    belki yardım etmek isteyebilirsin. Bana ulaşabilirsen sevinirim.

    İlgine şimdiden teşekkürler. Kolaylıklar.

Bir Cevap Yazın