PHP Web Sayfalarında “12 Dakika Önce” Nasıl Gösterilir

Zaman, kullanıcı arayüzlerinin vazgeçilmez bir yönüdür. Özellikle web uygulamalarında bir olaydan bu yana geçen süreyi göstermek, kullanıcı deneyimini artırır. Bunu yapmanın yaygın bir yolu “12 dakika önce” veya “5 saniye önce” gibi mesajlar göstermektir. Bu blog yazısında, PHP uygulamanızda bu özelliği kullanışlı bir fonksiyon aracılığıyla nasıl uygulayacağınızı keşfedeceğiz.

Neden Geçmiş Zaman Formatlama Kullanmalıyız?

Geçmiş zamanı bir formatta göstermek, aşağıdaki gibi birkaç avantaj sunar:

  • Açıklık: Kullanıcılarda kafa karışıklığına neden olabilecek belirli bir tarih ve saat yerine, geçmiş zaman daha sezgisel bir anlam taşır.
  • İlgililik: Olaylarla ilgili hemen bağlam sağlar, kullanıcıların bilginin ne kadar güncel olduğunu (örneğin, bir gönderinin ne kadar yeni olduğunu) anlamalarına yardımcı olur.
  • Kısalık: Kısa zaman mesajları arayüzünüzü temiz ve kullanıcı dostu tutar.

Çözüm: Geçmiş Zaman Fonksiyonunu Uygulama

“12 dakika önce” gibi mesajlar göstermek için, bir olaydan itibaren geçen saniye sayısını girdi olarak alan ve ne kadar süre önce olduğunu temsil eden insan tarafından okunabilir bir dize döndüren time_since() adında bir PHP fonksiyonu oluşturabiliriz.

Fonksiyon PHP’de şöyle görünmektedir:

function time_since($since) {
    $chunks = array(
        array(60 * 60 * 24 * 365 , 'year'),
        array(60 * 60 * 24 * 30 , 'month'),
        array(60 * 60 * 24 * 7, 'week'),
        array(60 * 60 * 24 , 'day'),
        array(60 * 60 , 'hour'),
        array(60 , 'minute'),
        array(1 , 'second')
    );

    for ($i = 0, $j = count($chunks); $i < $j; $i++) {
        $seconds = $chunks[$i][0];
        $name = $chunks[$i][1];
        if (($count = floor($since / $seconds)) != 0) {
            break;
        }
    }

    $print = ($count == 1) ? '1 '.$name : "$count {$name}s";
    return $print;
}

Fonksiyonun Ayrıntıları

  1. Zaman Dilimlerini Tanımlama: Fonksiyon, farklı zaman aralıklarını ve bunların karşılık gelen etiketlerini (yani yıl, ay, hafta, gün, saat, dakika, saniye) içeren $chunks adında bir dizi tanımlar. Bu aralıklar, geçmiş zamanı ifade etmenin nasıl yapılacağını belirlemeye yardımcı olur.

  2. Geçmiş Zamanı Hesaplama: Bir döngü, geçerli geçen süreye karşılık gelen en büyük zaman birimini bulmak için $chunks dizisinden geçer. Fonksiyon, o birimin belirtilen zaman dilimine ne kadar sığdığını hesaplar.

  3. Çıktıyı Formatlama: Uygun zaman birimi bulunduğunda, fonksiyon döndürülecek dizeyi formatlar. Zaman tekil ise (örneğin, “1 dakika”), birimin çoğul haline geçmez. Aksi takdirde, birimin sonuna ’s’ ekler (örneğin, “2 dakika”).

Örnek Kullanım

Bu fonksiyonu kullanmak için, sadece saniye sayısını argüman olarak geçirin. Örneğin:

echo time_since(720); // Çıktı: "12 dakika"
echo time_since(5);   // Çıktı: "5 saniye"

Bu yöntem, bir olayın ne kadar önce gerçekleştiğini kullanıcıların kolayca anlayabileceği bir formatta göstermek için idealdir.

Sonuç

Basit bir time_since() fonksiyonu uygulamak, PHP uygulamanızda zamanın sunulma şeklini önemli ölçüde geliştirebilir. Bu fonksiyon sadece gerekli bağlamı sağlamakla kalmaz, aynı zamanda daha çekici ve dostane bir kullanıcı deneyimi oluşturur. Geçmiş zaman formatlamasını kullanarak, kullanıcıların etkileşimde bulundukları içeriğin güncelliğini kolayca anlamalarına yardımcı olacak çekici bir arayüz oluşturabilirsiniz.

İhtiyaçlarınıza uygun şekilde bu fonksiyonu uyarlamakta ve genişletmekte özgürsünüz, böylece web uygulamanız daha kullanıcı dostu ve bilgilendirici olacaktır. İyi kodlamalar!