Como Exibir “12 Minutos Atrás” em Páginas Web PHP
O tempo é um aspecto essencial das interfaces de usuário, especialmente em aplicações web onde exibir o tempo relevante decorrido desde um evento melhora a experiência do usuário. Uma maneira comum de fazer isso é mostrar mensagens como “12 minutos atrás” ou “5 segundos atrás”. Neste post do blog, exploraremos como implementar esse recurso em sua aplicação PHP através de uma função prática.
Por Que Usar a Formatação de Tempo Decorrido?
Exibir o tempo em um formato decorrido tem várias vantagens, incluindo:
- Clareza: Em vez de mostrar uma data e hora específicas, que podem confundir os usuários, o tempo decorrido é intuitivo.
- Relevância: Ele fornece um contexto imediato relacionado aos eventos, ajudando os usuários a entenderem a atualidade das informações (por exemplo, quão recente é uma postagem).
- Brevidade: Mensagens de tempo encurtadas mantêm sua interface limpa e amigável.
A Solução: Implementando a Função de Tempo Decorrido
Para exibir mensagens como “12 minutos atrás”, podemos criar uma função PHP chamada time_since()
que recebe o número de segundos desde um evento como entrada e retorna uma string legível que representa há quanto tempo isso ocorreu.
Aqui está como a função se parece em PHP:
function time_since($since) {
$chunks = array(
array(60 * 60 * 24 * 365 , 'ano'),
array(60 * 60 * 24 * 30 , 'mês'),
array(60 * 60 * 24 * 7, 'semana'),
array(60 * 60 * 24 , 'dia'),
array(60 * 60 , 'hora'),
array(60 , 'minuto'),
array(1 , 'segundo')
);
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;
}
Dividindo a Função
-
Definindo Fragmentos de Tempo: A função define um array chamado
$chunks
. Este array contém diferentes intervalos de tempo e seus rótulos correspondentes (ou seja, anos, meses, semanas, dias, horas, minutos, segundos). Esses intervalos ajudam a determinar como expressar o tempo decorrido. -
Calculando o Tempo Decorrido: Um loop itera pelo array
$chunks
para encontrar a maior unidade de tempo que corresponde ao número de segundos passados. A função calcula quantos desse unitário cabem no tempo dado. -
Formatando a Saída: Uma vez que a unidade de tempo adequada é encontrada, a função formata a string de retorno. Se o tempo for singular (por exemplo, “1 minuto”), evita pluralizar a unidade. Caso contrário, adiciona um ’s’ no final (por exemplo, “2 minutos”).
Exemplo de Uso
Para usar esta função, basta chamá-la com o número de segundos como argumento. Por exemplo:
echo time_since(720); // Saída: "12 minutos"
echo time_since(5); // Saída: "5 segundos"
Este método torna fácil exibir há quanto tempo um evento ocorreu em um formato que é fácil para os usuários entenderem à primeira vista.
Conclusão
Implementar uma simples função time_since()
pode melhorar significativamente a forma como o tempo é apresentado em sua aplicação PHP. Não apenas fornece o contexto necessário, mas também cria uma experiência de usuário mais envolvente e amigável. Ao aproveitar a formatação de tempo decorrido, você pode criar uma interface atraente que ajuda os usuários a entenderem facilmente a atualidade do conteúdo com o qual interagem.
Sinta-se à vontade para adaptar e expandir essa função para atender suas necessidades, e em breve sua aplicação web será mais amigável e informativa. Feliz codificação!