Создайте пользовательский каталог помощников.
Сначала создайте каталог помощников в каталоге приложения.
Создание определения класса hlper. Теперь
давайте создадим простую вспомогательную функцию, которая объединит две строки. Создайте новый файл MyFuncs.php в /app/Helpers/MyFuncs.php Добавьте следующий код
<?php
namespace App\Helpers;
class MyFuncs {
public static function full_name($first_name,$last_name) {
return $first_name . ', '. $last_name;
}
}
Пространство имен App \ Helpers; определяет пространство имен помощников в пространстве имен приложений. Класс MyFuncs {…} определяет вспомогательный класс MyFuncs. public static function full_name ($ first_name, $ last_name) {…} определяет статическую функцию, которая принимает два строковых параметра и возвращает объединенную строку
Служба помощи предоставляет класс
Поставщики услуг используются для автоматической загрузки классов. Нам нужно определить поставщика услуг, который будет загружать все наши вспомогательные классы в каталог / app / Helpers.
Запустите следующую команду ремесленника:
php artisan make: провайдер HelperServiceProvider
Файл будет создан в /app/Providers/HelperServiceProvider.php
Open /app/Providers/HelperServiceProvider.php
Добавьте следующий код:
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
class HelperServiceProvider extends ServiceProvider {
/**
* Bootstrap the application services.
*
* @return void
*/
public function boot()
{
//
}
/**
* Register the application services.
*
* @return void
*/
public function register()
{
foreach (glob(app_path().'/Helpers/*.php') as $filename){
require_once($filename);
}
}
}
ВОТ,
namespace App\Providers; defines the namespace provider
use Illuminate\Support\ServiceProvider; imports the ServiceProvider class namespace
class HelperServiceProvider extends ServiceProvider {…} defines a class HelperServiceProvider that extends the ServiceProvider class
public function boot(){…} bootstraps the application service
public function register(){…} is the function that loads the helpers
foreach (glob(app_path().'/Helpers/*.php') as $filename){…} loops through all the files in /app/Helpers directory and loads them.
Теперь нам нужно зарегистрировать HelperServiceProvider и создать псевдоним для наших помощников.
Открыть /config/app.php
файл
Найдите переменную массива провайдеров
Добавьте следующую строку
App\Providers\HelperServiceProvider::class,
Найдите переменную массива псевдонимов
Добавьте следующую строку
'MyFuncs' => App\Helpers\MyFuncs::class,
Сохраните изменения, используя наш пользовательский помощник
Мы создадим маршрут, который будет вызывать нашу пользовательскую вспомогательную функцию Open /app/routes.php
Добавьте следующее определение маршрута
Route::get('/func', function () {
return MyFuncs::full_name("John","Doe");
});
ВОТ,
return MyFuncs::full_name("John","Doe"); calls the static function full_name in MyFuncs class