Scriptlerde bilgisi veya versiyon bilgisi son kullanıcıya, yeni bir sürüm çıktıkça nasıl haber veriliyor bugün bu konuyu işleyeceğiz. Bunun için birden çok yol olabilir. Ben kendiminde yapmış olduğum, scriptlerimde kullandığım yöntemi anlatacağım.

Geliştirici yada yazılımcı bir script yaptığında yönetim paneli gibi kısımlarda (genelde yönetim panelinin site yöneticisi görebildiği için bu kısımlar tercih edilir) hem yeni güncellemenin olup olmadığını varsa hangi sürümün şuan yayında olduğunu ve bu güncelleme ile gelen yeni özellikleri haber veriyor. Son kullanıcıların tümü(geliştiricinin yapmış olduğu scripti kullanan herkes) yönetim panellerinde bu yazıyı gördükten sonra geliştiricinin sitesini ziyaret eder ve bahsi geçen güncel sürümü indirirler, kurulumu tamamladıktan sonra ana-sayfalarında bulunan yeni sürüm var uyarısı kalkar ve güncel sürümü kullanıyorsunuz kullandığınız sürüm de şu.. gibi bir ibare yer alır. Biraz karmaşık anlatmış olabilirim ancak durum gerçekten biraz karmaşık.

Şöyle basit bir dosya hiyerarşisi ile durumu anlatmaya çalışalım.


Geliştirici Demosu
index.php
guncelleme.php
yonetim/ayarlar.php
yonetim/index.php
. . .
.
Son Kullanıcının İndirdiği Versiyon
index.php
yonetim/ayarlar.php
yonetim/index.php
. . .
.

Görüldüğü üzere guncelleme.php dosyasını dağıtılan script dosyaları arasında göremiyoruz. Çünkü geliştirici bu dosyayı her yeni sürüm çıkardığında manüel olarak çıkan yeni özellikler gibi bilgilerle güncelleyecektir. yonetim/index.php de basit bir bot kullanarak guncelleme.php dosyasındaki içerik çekilecektir.

guncelleme.php dosya içeriği

Yukarıdaki kodlara göre veritabanın ayarlar tablosunda surum adında bir hücrede kullanılan sürüm bilgisi yer alıyor.  <?php echo $row_ayar[‘surum‘]; ?>bu şekilde veri tabanından sürekli kullanılan sürüm bilgisi çekiliyor.

Aynı zamanda güncellemeler hakkında da bilgiler verilmiş. yonetim/index.php dosyasında da file_get_contents kullanılarak bu geliştirici demo adresinden guncelleme.php dosyasının içeriği çekiliyor, dolayısıyla buradan kullanılan sürüm bilgisi de çekilmiş oluyor. Son kullanıcı scriptinde ki veritabanından sürüm bilgisi de çekilerek bu iki veritabanının (geliştirici ile son kullanıcının) bilgileri kıyaslanıyor. Eğer durum eşit değilse if else kullanılarak eski sürüm kullanıyorsunuz şeklinde bir alert çıkartılıyor. Eğer eşitlik sağlanıyorsa sürümünüz güncel yazısı çıkartılıyor. Eğer sürüm güncel değilse, yeni sürümü, özelliklerini, nereden indirilebileceği gibi bilgileri yazdırabilirsiniz.

Sürüm Güncelleme

Sürüm Güncelleme

Gelelim yonetim/index.php dosyasının nasıl bir içeriğe sahip olduğuna;

Verilen kodlar mantığı anlamanız içindir, bu kodların tamamını kullanarak sürüm kontrol sistemi yapamazsınız.

Peki kıyaslamayı yaptık, sürümümüz güncel değil uyarısı aldık ve verilen linkten sürümümüzü güncelledik. Ancak hala uyarı gitmedi bunun nedeni sizin veritabanınızda hala eski sürüm bilgisi saklanıyor olmasıdır. Bunun için de geliştirici demosunda yonetim/ayarlar.php sayfasında(yöneticinin site ayarlarının yapıldığı bir sayfada form içerisinde hidden alan kullanılarak veri tabanında yeni sürüm numarasının güncellenmesi sağlanabilir böylelikle yeni sürüm güncellemesi yapıldığı halde, eski sürümü kullanıyorsunuz hatası almazsınız.

Buna örnek vermek gerekirse tahmini ayar.php dosya içeriği hidden alan;

Yukarıda ki formda aslında kullanıcı adı şifre ayarları kaydettiriliyor ancak bunun yanı sıra yeni versiyon bilgisi de update ediliyor. Umarım scriptlerinizde yeni bir sürüm yayınlarken en azından yöntem hakkında bir fikir oluşturabilmişimdir.