Я хочу внести некоторые изменения в даты, например, я хочу взорвать его, выполнить некоторую операцию и снова взорвать его, и я хочу использовать все это в моем приложении, так что вот мой код:

$divided_date = explode('/', $request->point_date);
$converted_date = Verta::getGregorian($divided_date[0], $divided_date[1], $divided_date[2]); // [2015,12,25]
$begindate = implode('/', $converted_date);

Я хочу сделать функцию с именем DateConvertor (), например, и везде, где я хочу преобразовать дату, я использую что-то вроде ниже.

$request->somedate()->DateConvertor();

Или например

Dateconvertor($request->someday);

И он возвращает конвертированную дату, так что теперь я не знаю, использовать статический метод или нет, и я не знаю, где его определить, чтобы я мог использовать его во всех своих приложениях, а не только в одной модели.

0
Farshad 12 Апр 2019 в 13:01

2 ответа

Лучший ответ

Вы можете создать файл Helper.php и в composer.json включить этот файл как

"files": [
        "app/Helpers/Helper.php",   
]

или могут добавить вспомогательный класс, например

<?php


namespace App\Helpers;


class Helper
{
    public static function foo()
    {
        return 'foo';
    }
}

И config/app.php

'aliases' => [

    ....

    'Helper' => App\Helpers\Helper::class,

]

А затем использовать как Helper::foo();

или добавьте поставщика услуг, например

php artisan make:provider HelperServiceProvider 

В методе регистрации

public function register()
{
    require_once app_path() . '/Helpers/Custom/Helper.php';
}

В config/app.php

providers = [ 'CustomHelper' => App\Helpers\Custom\Helper::class, ]

А также

'aliases' => [
'CustomHelper' => App\Helpers\Custom\User::class,
]

Затем используйте как

CustomHelper::foo();
1
Prafulla Kumar Sahu 12 Апр 2019 в 10:40

Создайте функцию в файле php и добавьте ее в файл composer.json внутри атрибута «autoload», например:

"autoload": {
    "psr-4": {
        "App\\": "app/"
    },
    "classmap": [
        "database/seeds",
        "database/factories"
    ],
    "files": [
        "app/Helpers/CustomHelper.php"
    ]
}

И выполните команду composer dump-autoload, здесь - файл CustomHelper.php, я хочу его загрузить, и их функции можно использовать в любом месте вашего проекта

CustomHelper.php

<?php

  if (! function_exists('getOTP')) {
    function getOTP()
    {
        return str_pad(rand(0, pow(10, 4) - 1), 4, '0', STR_PAD_LEFT);
    }
  }

 ?>

Теперь вы можете вызывать функцию getOTP () в любом месте вашего проекта.

1
Surender Singh Rawat 12 Апр 2019 в 11:00