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

问题描述 投票:1回答:2

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

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

哪里?

php laravel laravel-5.5 php-carbon
2个回答
2
投票

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

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

0
投票

我发现要在App Service Provider中设置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);
        });
    }
}

这里有关于View Composer的some more details

© www.soinside.com 2019 - 2024. All rights reserved.