Fonctions d'assistance personnalisées de Laravel – Conseils rapides

Barbara Streisand
Libérer: 2024-10-23 01:07:31
original
338 Les gens l'ont consulté

Les fonctions d'assistance sont très populaires parmi les développeurs Laravel. Ils donnent accès à des algorithmes intelligents prêts à être utilisés dans votre code à l'aide d'une seule instruction.

La fonction d'assistance la plus connue est probablement url() qui vous permet de générer des URL d'application internes.

Une autre aide précieuse est la fonction retry() par exemple : https://laravel.com/docs/11.x/helpers#method-retry

Un moyen simple de réessayer une instruction un certain nombre de fois si elle déclenche une exception. Il est généralement utilisé sur les appels d'API externes, et en fait, il a été récemment intégré en tant que méthode dans le client HTTP Laravel.

$response = Http::retry(3, 100)->post(/* ... */);
Copier après la connexion

En savoir plus sur le client HTTP sur l'article dédié : https://inspector.dev/laravel-http-client-overview-and-monitoring/

Cas d'utilisation des fonctions d'assistance de Laravel

Parfois, nous aimerions automatiser des tâches liées à notre logique métier et l'encapsuler dans une fonction d'assistance pourrait être très pratique. J'ai écrit sur l'implémentation de array_map pour les tableaux associatifs qui convient parfaitement à ce cas d'utilisation.

Vous pouvez vous référer à l'article pour connaître le but de cette fonction, dans ce contexte je souhaite en faire une fonction d'assistance personnalisée à utiliser dans votre application Laravel.

Comment enregistrer de nouvelles fonctions d'assistance Laravel

Créez d'abord un nouveau fichier helper.php dans le répertoire app/ de votre projet Laravel.

Laravel custom helper functions – Fast Tips

Collez le code ci-dessous pour déclarer la fonction array_map_assoc dans le fichier :

if (!function_exists('array_map_assoc')) {
    /**
     * Apply a mapping callback receiving key and value as arguments.
     * The standard array_map doesn't pass the key to the callback. But in the case of associative arrays,
     * it could be really helpful.
     *
     * array_map_assoc(function ($key, $value) {
     *  ...
     * }, $items)
     *
     * @param callable $callback
     * @param array $array
     * @return array
     */
    function array_map_assoc(callable $callback, array $array): array
    {
        // map original array keys, and call $callable with $key and $value.
        return array_map(function($key) use ($callback, $array){
            return $callback($key, $array[$key]);
        }, array_keys($array));
    }
}
Copier après la connexion

Comme vous pouvez le voir, la déclaration de fonction est enveloppée par if pour éviter d'enregistrer des fonctions avec le même nom.

Inclure le fichier d'assistance via le chargement automatique de Composer

Laravel ne charge pas automatiquement les fichiers d'assistance personnalisés, vous devez donc demander manuellement au compositeur d'inclure le fichier lors de la génération du chargement automatique.

Dans le fichier composer.json de votre projet Laravel recherchez la section "autoload", et ajoutez le mot-clé "files" :

"autoload": {
    "psr-4": {
        "App\": "app/",
        "Database\Factories\": "database/factories/",
        "Database\Seeders\": "database/seeders/"
    },
    "files": [
        "app/helpers.php"
    ]
},
Copier après la connexion

Après avoir ajouté le fichier, exécutez composer dump-autoload dans votre terminal pour actualiser les fichiers de chargement automatique de Composer.

Utilisation de votre fonction d'assistance Laravel

Une fois le fichier d'assistance chargé, vous pouvez utiliser vos fonctions personnalisées n'importe où dans votre application Laravel, comme n'importe quelle autre fonction PHP.

$histogram = array_map_assoc(function ($key, $value) {
    return [
        'label' => $key,
        'value' => $value['doc_count']
    ];
}, $data);
Copier après la connexion

J'espère qu'il sera utile de rester organisé avec votre base de code.

Pour des articles plus techniques vous pouvez me suivre sur Linkedin ou X.

Surveillez votre application PHP gratuitement

Inspector est un outil de surveillance de l'exécution du code spécialement conçu pour les développeurs de logiciels. Vous n'avez pas besoin d'installer quoi que ce soit au niveau du serveur, installez simplement le package Laravel ou Symfony et vous êtes prêt à partir.

Si vous recherchez une surveillance HTTP, des informations sur les requêtes de base de données et la possibilité de transférer des alertes et des notifications vers votre environnement de messagerie préféré, essayez Inspector gratuitement. Enregistrez votre compte.

Ou apprenez-en plus sur le site : https://inspector.dev

Laravel custom helper functions – Fast Tips

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!