在Laravel 5.5中放置Carbon :: setLocale()的位置?

时间:2018-02-06 15:06:00

标签: php laravel laravel-5.5 php-carbon

我无法找出应该在哪里说明Carbon本地化配置,以便在全球范围内使用。

\Carbon\Carbon::setLocale(config('app.locale'));

在哪儿?

2 个答案:

答案 0 :(得分:1)

转到AppServiceProvider.php并将其添加到boot方法

class AppServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap any application services.
     *    
     * @return void
     */
    public function boot()
    {
        \Carbon\Carbon::setLocale(config('app.locale'));
    }
}

答案 1 :(得分:0)

我发现要在应用服务提供商中为 Carbon 设置语言环境,我需要使用 View Composer 。否则,将无法  我的指令可用的语言环境。

class AppServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap any application services.
     *    
     * @return void
     */
    public function boot()
    {
       View::composer('*', function ($view) {

            $locale = App::getLocale();

            \Carbon\Carbon::setUtf8(true);
            \Carbon\Carbon::setLocale($locale);
        });
    }
}

这里some more details关于View Composer。