我在路径中有自定义类:
app/Http/Helpers/Helper/Helper.php
with namespace是:namespace App\Helpers;
它有一个静态方法:
public static function getMonthName($monthNumber)
{
return date("F", mktime(0, 0, 0, $monthNumber, 1));
}
我试图从模板Laravel中调用此方法:
{{ \App\Http\Helpers\Helper::getMonthName($i) }}
但它不起作用:
Class 'App\Http\Helpers\Helper' not found
答案 0 :(得分:1)
将名称空间更新为:
namespace App\Http\Helpers\Helper;
命名空间必须与类路径相同,因为laravel使用spl_autoload
动态加载类
答案 1 :(得分:1)
像其他人一样,制作helpers.php
(在root中,.env
文件所在的位置。)
if (! function_exists('get_month_name')) {
function get_month_name(int $month)
{
return date('F', mktime(0, 0, 0, $month, 1));
}
}
并在composer.json
自动加载:
"autoload": {
"psr-4": {
"App\\": "app/"
},
"files": [
"helpers.php"
]
},
现在您可以在代码库中随处调用辅助函数
答案 2 :(得分:0)
如果有人试图在刀片中使用辅助函数,请确保您执行以下操作。
//composer.json
"files":[
"app/Helpers/Helper.php"
],
//app.php
'aliases'=> [
...
'Helper'=> 'App\Helpers\Helper::class',
]
并且在你的刀片中你可以使用 if Helper.php
是静态函数
{{ Helper::getStatusColor($item->status) }}