Comment afficher “il y a 12 minutes” sur des pages Web PHP
Le temps est un aspect essentiel des interfaces utilisateur, surtout dans les applications web où afficher le temps écoulé depuis un événement améliore l’expérience utilisateur. Une manière courante de le faire est d’afficher des messages comme “il y a 12 minutes” ou “il y a 5 secondes”. Dans cet article de blog, nous allons explorer comment mettre en œuvre cette fonctionnalité dans votre application PHP à l’aide d’une fonction pratique.
Pourquoi utiliser le format d’heure écoulée ?
Afficher le temps dans un format écoulé présente plusieurs avantages, notamment :
- Clarté : Au lieu d’afficher une date et une heure spécifiques, ce qui peut confondre les utilisateurs, le temps écoulé est intuitif.
- Pertinence : Il fournit un contexte immédiat lié aux événements, aidant les utilisateurs à comprendre la fraîcheur de l’information (par exemple, la récence d’un post).
- Brevité : Les messages temporels courts gardent votre interface propre et conviviale.
La solution : Implémentation de la fonction de temps écoulé
Pour afficher des messages comme “il y a 12 minutes”, nous pouvons créer une fonction PHP appelée time_since()
qui prend en entrée le nombre de secondes écoulées depuis un événement et retourne une chaîne lisible par l’homme représentant combien de temps s’est écoulé.
Voici à quoi ressemble la fonction en PHP :
function time_since($since) {
$chunks = array(
array(60 * 60 * 24 * 365 , 'an'),
array(60 * 60 * 24 * 30 , 'mois'),
array(60 * 60 * 24 * 7, 'semaine'),
array(60 * 60 * 24 , 'jour'),
array(60 * 60 , 'heure'),
array(60 , 'minute'),
array(1 , 'seconde')
);
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;
}
Analyse de la fonction
-
Définition des intervalles de temps : La fonction définit un tableau appelé
$chunks
. Ce tableau contient différents intervalles de temps et leurs étiquettes correspondantes (c’est-à-dire, années, mois, semaines, jours, heures, minutes, secondes). Ces intervalles aident à déterminer comment exprimer le temps écoulé. -
Calcul du temps écoulé : Une boucle itère à travers le tableau
$chunks
pour trouver la plus grande unité de temps qui correspond au nombre de secondes écoulées. La fonction calcule combien de cette unité s’inscrit dans le temps donné. -
Formatage de la sortie : Une fois l’unité de temps appropriée trouvée, la fonction formate la chaîne de retour. Si le temps est singulier (par exemple, “1 minute”), elle évite de mettre au pluriel l’unité. Sinon, elle ajoute un ’s’ à la fin (par exemple, “2 minutes”).
Exemple d’utilisation
Pour utiliser cette fonction, il suffit de l’appeler avec le nombre de secondes comme argument. Par exemple :
echo time_since(720); // Affiche : "il y a 12 minutes"
echo time_since(5); // Affiche : "il y a 5 secondes"
Cette méthode facilite l’affichage de la durée écoulée depuis qu’un événement s’est produit dans un format facilement compréhensible pour les utilisateurs.
Conclusion
Mettre en œuvre une fonction simple time_since()
peut considérablement améliorer la façon dont le temps est présenté dans votre application PHP. Non seulement elle fournit un contexte nécessaire, mais elle crée également une expérience utilisateur plus engageante et conviviale. En utilisant le format d’heure écoulée, vous pouvez créer une interface convaincante qui aide les utilisateurs à comprendre facilement la pertinence du contenu avec lequel ils interagissent.
N’hésitez pas à adapter et à développer cette fonction pour répondre à vos besoins, et bientôt votre application web sera plus conviviale et informative. Bon codage !