【问题标题】:How use carbon in Laravel 5.2 application-wide如何在 Laravel 5.2 应用程序范围内使用碳
【发布时间】:2016-03-14 23:02:56
【问题描述】:

如何在 Laravel 5.2 中使用 Carbon 而不在每个视图和控制器中添加 use Carbon\Carbon;..?

【问题讨论】:

  • 不,它不会添加到每个视图或控制器中。如果你需要使用 Carbon 函数,你需要包含在 use 中!

标签: php laravel php-carbon


【解决方案1】:

将以下行添加到 config/app.php 中的 aliases 数组中:

'Carbon' => 'Carbon\Carbon'

并且你需要在你想使用它的每个类中添加use Carbon;

【讨论】:

  • 事实上,我可以很好地为它起别名,然后像 \Carbon 一样调用它,但自动完成功能会变得很糟糕 :)
【解决方案2】:

您可以使用以下结构在模型中声明一些字段:

protected $dates = ['created_at', 'updated_at', 'disabled_at','mydate'];

所有这些字段都将自动成为 Carbon 实例,您将能够在您的视图中使用它们,例如:

{{ $article->mydate->diffForHumans() }}

这是我前段时间here提供的答案。

here 是 Laravel 的文档

【讨论】:

  • 为了使用 ->diffForHumans() 函数,他不必包含“使用碳/碳”吗?
  • 如果他在他的模型中声明了protected $dates 属性,则不会:)
  • 有趣!感谢@El_Metalla 的提示
  • 提示很棒,感谢 laravel 团队 :)
  • 是的,感谢 Laravel 团队,我这里只是复制粘贴哈哈
【解决方案3】:

这是我在 helpers.php 上的内容

function myCarbon($date)
{
  return $date != '' ? \Carbon\Carbon::parse($date) : '-';
}

然后在任何控制器和视图上:

myCarbon($model->field)->format('F d, Y');

由于我的刀片上通常有 mm/dd/yyyymm/dd/yyyy H:i,所以我的帮助文件中有这些:

function mydateFormat($date)
{
  return $date != '' ? myCarbon($date)->format('m/d/Y') : '-';
}

function mytimeFormat($date)
{
  return $date != '' ? myCarbon($date)->format('H:i') : '-';
}

function mydateTime($date)
{
  return $date != '' ? myCarbon($date)->format('m/d/Y H:i') : '-';
}

现在您可以在任何控制器和视图上使用此应用程序范围。

(注意:函数名称仅为示例,并非我实际使用的名称,请根据您的需要更改)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-12
    • 2017-11-12
    • 2021-11-21
    • 2012-06-19
    • 2016-07-22
    相关资源
    最近更新 更多