Szukaj…


Wprowadzenie

Dodanie niestandardowych pomocników może pomóc w szybszym rozwoju. Jest jednak kilka rzeczy, które należy wziąć pod uwagę podczas pisania takich funkcji pomocniczych, stąd ten samouczek.

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 .



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow