Recherche…
Introduction
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
.