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
Kopyala
<?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ı:
Kopyala
echo tokenUret("karışık-kelime");
dosyanın çıktısı:
Kopyala
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:
Kopyala
{
"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:
Kopyala
git clone https://github.com/mustafayilmazist/kodlari_composera_eklemek.git
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.

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
Kopyala
composer create-project mustafayilmazist/kodlari_composera_eklemek
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.


