如何在视图 - Laravel 5.8 中调用助手 class 的函数?

How can I call a function of a helper class in a view - Laravel 5.8?

我有一个帮手classDateHelper

我里面有一个 fn

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;


    }

}

我想像这样在我的视图中使用它

{{ DateHelper::getAgo($log->createdAt) }}

我一直在

Class 'DateHelper' not found (View: ...

我试图像这样

将它包含在我的 index.blade.php 之上
<?php use App\DateHelper; ?>

有人可以帮助我吗?

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

'aliases' => [
    // ...
    'DateHelper' => App\DateHelper::class,
],

那么在你看来你可以简单地做:

{{ DateHelper::getAgo($log->created_at); }}

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

{{ \App\DateHelper::getAgo($log->created_at) }}

确保 class 在正确的命名空间中并且具有正确的 class/filename,您应该可以开始了。