Recherche…


Introduction

L'ajout d'aides personnalisées peut vous aider avec votre vitesse de développement. Il y a quelques points à prendre en compte lors de l'écriture de ces fonctions d'aide, d'où ce tutoriel.

Remarques

Juste quelques conseils:

  • Nous avons placé les définitions de fonction dans une vérification ( function_exists ) pour empêcher les exceptions lorsque le fournisseur de services est appelé deux fois.
  • Une autre méthode consiste à enregistrer le fichier helpers à partir du fichier composer.json . Vous pouvez copier la logique du framework Laravel lui-même .

document.php

<?php

if (!function_exists('document')) {
    function document($text = '') {
        return $text;
    }
}

Créez un fichier helpers.php, supposons pour le moment qu’il se trouve dans app/Helpers/document.php . Vous pouvez mettre de nombreux assistants dans un seul fichier (c'est comme cela que fait Laravel) ou vous pouvez les diviser par nom.

HelpersServiceProvider.php

Maintenant, créons un fournisseur de services. Mettons-le sous app/Providers :

<?php

namespace App\Providers;

class HelpersServiceProvider extends ServiceProvider
{
    public function register()
    {
        require_once __DIR__ . '/../Helpers/document.php';
    }
}

Le fournisseur de services ci-dessus charge le fichier helpers et enregistre automatiquement votre fonction personnalisée. S'il vous plaît assurez-vous d'enregistrer ce HelpersServiceProvider dans votre config/app.php sous providers :

'providers' => [
     // [..] other providers
     App\Providers\HelpersServiceProvider::class,
]

Utilisation

Vous pouvez maintenant utiliser la fonction document() partout dans votre code, par exemple dans les modèles de lame. Cet exemple ne renvoie que la même chaîne qu'il reçoit en argument

<?php
Route::get('document/{text}', function($text) { 
    return document($text);
});

Maintenant, allez dans /document/foo dans votre navigateur (utilisez php artisan serve or ou valet ), qui renverra foo .



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow