Поиск…
Вступление
замечания
Всего несколько указателей:
- Мы помещаем определения функций в проверку (
function_exists), чтобы исключить исключения, когда поставщик услуг вызывается дважды. - Альтернативный способ - зарегистрировать файл помощников из файла
composer.json. Вы можете скопировать логику из самой структуры laravel .
document.php
<?php
if (!function_exists('document')) {
function document($text = '') {
return $text;
}
}
Создайте файл helpers.php, предположим, пока он живет в app/Helpers/document.php . Вы можете поместить много помощников в один файл (так это делает Laravel), или вы можете разделить их по имени.
HelpersServiceProvider.php
Теперь давайте создадим поставщика услуг. Положим это на app/Providers :
<?php
namespace App\Providers;
class HelpersServiceProvider extends ServiceProvider
{
public function register()
{
require_once __DIR__ . '/../Helpers/document.php';
}
}
Вышеупомянутый поставщик услуг загружает файл помощников и автоматически регистрирует вашу настраиваемую функцию. Пожалуйста, убедитесь, что вы зарегистрировали этот HelpersServiceProvider в своем config/app.php у providers :
'providers' => [
// [..] other providers
App\Providers\HelpersServiceProvider::class,
]
использование
Теперь вы можете использовать document() функции document() всюду в своем коде, например, в шаблонах клинков. Этот пример возвращает только ту же строку, которую он получает в качестве аргумента
<?php
Route::get('document/{text}', function($text) {
return document($text);
});
Теперь перейдите в /document/foo в своем браузере (используйте php artisan serve или valet ), который вернет foo .