LocalizerServiceProvider   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 38
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 4

Importance

Changes 0
Metric Value
dl 0
loc 38
rs 10
c 0
b 0
f 0
wmc 3
lcom 1
cbo 4

2 Methods

Rating   Name   Duplication   Size   Complexity  
A boot() 0 6 1
A register() 0 24 2
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
}