GITHUBA YÜKLENEN BIR PROJENIN COMPOSER DOSYASINI OLUŞTURMA VE PACKAGELIST SITESINE YÜKLEMEK

daha önceki yazımda sizlere composer nedir ve composer kullanarak bir kütüphane nasıl indirilir anlatmıştım. bu yazımda ise sizlere oluşturmuş olduğunuz projenin (kütüphane-kodlar bütünü) composer ile kullanılmasının nasıl sağlanacağını anlatmaya çalışacağım.

konu anlatımını bir üzerinden göstereceğim bunun için örnek kodlarımı içeren php dosyasının içeriğini hemen altta paylaşıyorum.

dosya adi: token_uret.php

dosya içeriği:

<?php

/**

 * [tokenUret her çalıştırıldığından benzersiz karakterlerden oluşan bir değer üretir.]

 * @param  [string|int] $tuz [fazladan değer karıştırıcı boş bırakılabilir]

 * @return [string]      [token]

 */

function tokenUret($tuz=””){

return md5(sha1(uniqid().$tuz));

}

dosyanın çalıştırılması:

echo tokenUret(“karışık-kelime”);

dosyanın çıktısı:

19e1bb0dc153202db022255bf87387df

şimdi yukarıdaki dosyayı biz projelerimizde kullanabiliriz.(şuan nerede nasıl kullanırız konumuz değil)

fakat biz bu kodlarımızın başka insanlar tarafından da kullanılmasını istersek kodlarımızı paylaşıma açmalıyız. bu paylaşıma açma işini github gibi sistemler üzerinden yaparız.

projeyi githuba attığımı kabul edelim. herhangi bir kullanıcı githubdan kodlarımızı alır ve sistemine entegre ederse sorun yok fakat güncellemeleri otomatik olarak alamaz demiştik daha önceki yazımızda.

işte bu nedenle ben öncelikle githuba atacağım kodlarımın composerin kullanımı için composer.json dosyasını oluşturacağım.

daha sonra  githuba yükleyeceğim 

bunları yaptığımda insanlar benim kodlarımı projelerine composer vasıtası ile entegre edebilirler. 

bunun yanında php kütüphanelerinin bulunduğu https://packagist.org/ adresine de yükleyeceğim.

başlıyorum.

öncelikle githubda bir repo oluşturdum.

oluşturduğum repoyu local bilgisayarıma çektim.

(bu kısımlara bu yazımda fazladan uzamaması için yer vermiyorum bir başka yazıda değineceğim)

ekran görüntüsü

şimdi bu dizin içinde composer.json dosyası oluşturacağım.

composer.json içeriği:

{
“name”:”mustafayilmazist/composer_olusturmak”,
“type”:”project”,
“description”:”Token Üretici”,
“keywords”:[“Token”,”üretici”],
“homepage”:”https://github.com/mustafayilmazist/composer_olusturmak”,
“license”:”MIT”,
“authors”:[
{
“name”:”Mustafa Yılmaz”,
“email”:”iletisim@yazilimekip.com”
}
],
“require”:{
“mustafayilmazist/composer_olusturmak”:”~1.0″
}
}

buradaki seçeneklerin hepsi yazılmak zorunda değil. bu konuda detaylı bilgiyi https://getcomposer.org/doc/04-schema.md#json-schema adresinden alabilirsiniz.

composer.json dosyasını oluşturduktan sonra bu dosyayıda githuba atmamız gerekli. 

ben bu işlemi yaptım.(burada değinmiyorum)

projenin githubdaki son halinin görseli:

şimdi burada bulunan projeyi herhangi bir kullanıcı projesine dahil etmek isterse:

git clone https://github.com/mustafayilmazist/kodlari_composera_eklemek.git komutlarını kullanabilir.

ama daha önce de bahsettiğim gibi güncellemeleri otomatik alabilmesi  ve kodlarımızın daha fazla kişiye ulaşabilmesi için şimdi https://packagist.org/ adresine de yüklemesini yapalım.

bunun için githubda projemizi açtıktan sonra adres satırını olduğu gibi kopyalayalım

örnek:

https://github.com/mustafayilmazist/kodlari_composera_eklemek

daha sonra 

https://packagist.org/ adresine girelim (burada bir üyelik açtığınızı ve giriş yaptığınızı kabul ediyorum)

bu adreste  aşağıdaki görselde bulunan sağ ikinci sıradaki submit linkine tıklıyoruz.

karşımıza gelen ekrandaki kutuya github adresini yapıştırıyoruz. 

görseli:

ve check butonuna tıklıyoruz.

karşımıza gelen ekran aşağıdaki gibi:

son olarak submit i tıklıyoruz ve aşağıdaki gibi bir ekranla karşılaştıysak işlem tamamdır.

üstteki ekran bize işlemin tamam olduğunu söylerken bu paketin otomatik github ile senkronize olmasını ayarlamamız gerektiğini de söylüyor.

artık işlem tamam.

herhangi bir kullanıcı  komut satırından

composer create-project mustafayilmazist/kodlari_composera_eklemek

komutunu kullanırsa kodlarımızı projesine dahil edebilir.

son olarak önemli bir uyarı yapayım,

projelerinizi bitirmeden yani henüz proje aşamasında olan kodlarınızı https://packagist.org/ adresine atmanız önerilmez, bu nedenle ben attığım projeyi https://packagist.org/ adresinden kaldırdım. 

Facebooktwitterlinkedin