如何创建一个可以在 Laravel 中随处使用的方法
How to create a method able for use everywhere in Laravel
我想对日期进行一些更改,例如,我想将其分解并进行一些操作并再次将其分解,我想在我的应用程序中使用它,所以这是我的代码:
$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);
它 returns 是转换后的日期,所以现在我不知道是否使用静态方法,我也不知道在哪里定义它,所以我可以在我的所有应用程序中使用它不只是一个模型。
在 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() 函数
您可以创建一个 Helper.php
文件并在 composer.json
中包含该文件作为
"files": [
"app/Helpers/Helper.php",
]
或可以添加一个助手class像
<?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();
我想对日期进行一些更改,例如,我想将其分解并进行一些操作并再次将其分解,我想在我的应用程序中使用它,所以这是我的代码:
$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);
它 returns 是转换后的日期,所以现在我不知道是否使用静态方法,我也不知道在哪里定义它,所以我可以在我的所有应用程序中使用它不只是一个模型。
在 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() 函数
您可以创建一个 Helper.php
文件并在 composer.json
中包含该文件作为
"files": [
"app/Helpers/Helper.php",
]
或可以添加一个助手class像
<?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();