Zoeken…
Invoering
Opmerkingen
Slechts enkele aanwijzingen:
- We hebben de functiedefinities binnen een vinkje geplaatst (
function_exists
) om uitzonderingen te voorkomen wanneer de serviceprovider twee keer wordt aangeroepen. - Een alternatieve manier is om het helpersbestand te registreren vanuit het bestand
composer.json
. Je kunt de logica kopiëren van het larvenraamwerk zelf .
document.php
<?php
if (!function_exists('document')) {
function document($text = '') {
return $text;
}
}
Maak een helpers.php-bestand, laten we aannemen dat het nu in app/Helpers/document.php
leeft. Je kunt veel helpers in één bestand stoppen (zo doet Laravel het) of je kunt ze opsplitsen op naam.
HelpersServiceProvider.php
Laten we nu een serviceprovider maken. Laten we het onder app/Providers
:
<?php
namespace App\Providers;
class HelpersServiceProvider extends ServiceProvider
{
public function register()
{
require_once __DIR__ . '/../Helpers/document.php';
}
}
De bovenstaande serviceprovider laadt het helpersbestand en registreert uw aangepaste functie automatisch. Zorg ervoor dat u deze HelpersServiceProvider registreert in uw config/app.php
onder providers
:
'providers' => [
// [..] other providers
App\Providers\HelpersServiceProvider::class,
]
Gebruik
Nu kunt u het functiedocument document()
overal in uw code gebruiken, bijvoorbeeld in bladsjablonen. Dit voorbeeld retourneert alleen dezelfde tekenreeks die het als argument ontvangt
<?php
Route::get('document/{text}', function($text) {
return document($text);
});
Ga nu naar /document/foo
in je browser (gebruik php artisan serve
of valet
), die foo
zal retourneren.