LocalizerServiceProvider::boot()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
nc 1
nop 0
dl 0
loc 6
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace VSamovarov\LaravelLocalizer;
4
5
use Illuminate\Routing\Router;
6
use Illuminate\Support\Facades\Route;
7
use Illuminate\Support\ServiceProvider;
8
use VSamovarov\LaravelLocalizer\Localizer;
9
use VSamovarov\LaravelLocalizer\Macros\RouteMacros;
10
use VSamovarov\LaravelLocalizer\Middleware\LocalizerMiddleware;
11
12
class LocalizerServiceProvider extends ServiceProvider
13
{
14
    public function boot()
15
    {
16
        $router = $this->app->make(Router::class);
17
        $router->pushMiddlewareToGroup('web', LocalizerMiddleware::class);
18
        require_once('helpers.php');
19
    }
20
    /**
21
     * Register the service provider.
22
     *
23
     * @return void
24
     */
25
    public function register()
26
    {
27
        $packageConfigFile = __DIR__ . '/../config/config.php';
28
        if ($this->app->runningInConsole()) {
29
            $this->publishes([
30
                $packageConfigFile => config_path('laravel-localizer.php'),
31
            ], 'config');
32
        }
33
34
        $this->mergeConfigFrom(
35
            $packageConfigFile,
36
            'laravel-localizer'
37
        );
38
39
        $this->app->singleton(Localizer::class, function ($app) {
40
            return new Localizer($app['config']['laravel-localizer']);
41
        });
42
        $this->app->alias(Localizer::class, 'localizer');
43
44
        $this->app->singleton(RouteGroupLocalizer::class, RouteGroupLocalizer::class);
45
        $this->app->alias(RouteGroupLocalizer::class, 'routeGroupLocalizer');
46
47
        Route::mixin(new RouteMacros);
48
    }
49
}