Laravel : Ajouter une fonction globale pour afficher les chiffres façon YouTube

Écouter cet article

Tu veux afficher des chiffres de manière simplifiée dans ton application Laravel, comme sur YouTube ou Instagram ? Par exemple, transformer 1 000 en 1K, 1 000 000 en 1M, etc.

Bonne nouvelle : c’est simple ! Dans ce tuto rapide, on va créer une fonction globale que tu pourras réutiliser partout dans ton application Laravel.

Pourquoi créer une fonction globale dans Laravel ?

Créer une fonction globale permet de :

  • Simplifier ton code en évitant les répétitions.
  • Faciliter les modifications futures.
  • Améliorer la lisibilité et la maintenance du projet.

C’est pratique, rapide, et très simple à mettre en place.

Étape 1 : Créer un fichier « helpers.php »

Commence par créer un dossier Helpers dans le dossier app de Laravel si celui-ci n’existe pas déjà. Ensuite, crée un fichier nommé helpers.php à cet endroit :

app/Helpers/helpers.php

Voici le contenu du fichier avec notre fonction magique :

if (! function_exists('format_number')) {
    /**
     * Formate un nombre en version courte (1K, 1M, 1B...).
     *
     * @param int|float $number
     * @return string
     */
    function format_number($number)
    {
        if ($number < 1000) {
            return $number;
        } elseif ($number < 1000000) {
            return round($number / 1000, 1) . 'K';
        } elseif ($number < 1000000000) {
            return round($number / 1000000, 1) . 'M';
        } else {
            return round($number / 1000000000, 1) . 'B';
        }
    }
}

Étape 2 : Charger automatiquement ta fonction globale

Ouvre ton fichier composer.json situé à la racine de ton projet Laravel, et cherche la section autoload. Ajoute le chemin vers ton fichier comme ceci :

"autoload": {
    "files": [
        "app/Helpers/helpers.php"
    ]
}

Puis, exécute la commande suivante dans ton terminal afin d’appliquer les changements :

composer dump-autoload

Maintenant ta fonction est chargée automatiquement dans toute ton application Laravel !

Étape 3 : Utiliser ta fonction partout

Tu peux désormais utiliser ta fonction format_number aussi bien dans tes contrôleurs que dans tes vues Blade très facilement.

Par exemple, dans un contrôleur :

public function dashboard()
{
    $followers = 4500;
    $formattedFollowers = format_number($followers);

    return view('dashboard', compact('formattedFollowers'));
}

Et directement dans une vue Blade :

<p>{{ format_number(1250) }} abonnés</p>

Résultat :

1.3K abonnés

Voilà, tu as désormais une fonction globale simple et efficace pour afficher des chiffres raccourcis à la manière de YouTube ou Instagram dans ton application Laravel. N’hésite pas à l’adapter à tes besoins spécifiques ou à la rendre plus sophistiquée selon les cas.

Bonne programmation ! 🚀