Szukaj…
Wprowadzenie
Uwagi
Kilka wskazówek:
- Umieściliśmy definicje funkcji w ramach kontroli (
function_exists
), aby zapobiec wyjątkom, gdy dostawca usług jest wywoływany dwukrotnie. - Alternatywnym sposobem jest zarejestrowanie pliku helpers z pliku
composer.json
. Możesz skopiować logikę z samego środowiska laravel .
document.php
<?php
if (!function_exists('document')) {
function document($text = '') {
return $text;
}
}
Utwórz plik helpers.php, załóżmy, że na razie znajduje się w app/Helpers/document.php
. Możesz umieścić wielu pomocników w jednym pliku (tak robi to Laravel) lub możesz podzielić je według nazw.
HelpersServiceProvider.php
Teraz stwórzmy usługodawcę. Umieśćmy to pod app/Providers
:
<?php
namespace App\Providers;
class HelpersServiceProvider extends ServiceProvider
{
public function register()
{
require_once __DIR__ . '/../Helpers/document.php';
}
}
Powyższy usługodawca ładuje plik helpers i automatycznie rejestruje Twoją niestandardową funkcję. Upewnij się, że zarejestrowałeś tego HelpersServiceProvider w pliku config/app.php
pod providers
:
'providers' => [
// [..] other providers
App\Providers\HelpersServiceProvider::class,
]
Posługiwać się
Teraz możesz używać funkcji document()
wszędzie w kodzie, na przykład w szablonach bloków. Ten przykład zwraca tylko ten sam ciąg, który otrzymuje jako argument
<?php
Route::get('document/{text}', function($text) {
return document($text);
});
Teraz przejdź do /document/foo
w swojej przeglądarce (użyj php artisan serve
lub usługi valet
), która zwróci foo
.