如何在视图中调用帮助程序类的函数-Laravel 5.8?

kyo*_*kyo 4 php date laravel laravel-5 laravel-5.8

我有一个帮助器类DateHelper

在此处输入图片说明

我在那里有一个朋友

public static function getAgo($date) {

    if ($date) {

        $ts = time() - strtotime(str_replace("-","/",$date));

        if($ts>31536000) $val = round($ts/31536000,0).' year';
        else if($ts>2419200) $val = round($ts/2419200,0).' month';
        else if($ts>604800) $val = round($ts/604800,0).' week';
        else if($ts>86400) $val = round($ts/86400,0).' day';
        else if($ts>3600) $val = round($ts/3600,0).' hour';
        else if($ts>60) $val = round($ts/60,0).' minute';
        else $val = $ts.' second';

        if($val>1) $val .= 's';

        return $val;


    }

}
Run Code Online (Sandbox Code Playgroud)

我想这样在我看来

{{ DateHelper::getAgo($log->createdAt) }}
Run Code Online (Sandbox Code Playgroud)

我不断

找不到类“ DateHelper”(查看:...

我试图index.blade.php像这样将它包括在我的顶部

<?php use App\DateHelper; ?>
Run Code Online (Sandbox Code Playgroud)

有人可以帮帮我吗 ?

Chi*_*ung 8

您可以在中添加别名config/app.php

'aliases' => [
    // ...
    'DateHelper' => App\DateHelper::class,
],
Run Code Online (Sandbox Code Playgroud)

然后在您看来,您可以简单地执行以下操作:

{{ DateHelper::getAgo($log->created_at); }}
Run Code Online (Sandbox Code Playgroud)


Tim*_*wis 5

如果use语句在视图中不起作用,则可以始终使用内联命名空间:

{{ \App\DateHelper::getAgo($log->created_at) }}
Run Code Online (Sandbox Code Playgroud)

确保该类位于正确的名称空间中,并且具有正确的类/文件名,您应该一切顺利。