UserServiceProvider::langHandle()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 10
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 6
nc 1
nop 0
dl 0
loc 10
rs 9.4285
c 0
b 0
f 0
1
<?php
2
3
namespace Bantenprov\User;
4
5
use Illuminate\Support\ServiceProvider;
6
use Bantenprov\User\Console\Commands\UserCommand;
7
8
/**
9
 * The UserServiceProvider class
10
 *
11
 * @package Bantenprov\User
12
 * @author  bantenprov <[email protected]>
13
 */
14
class UserServiceProvider extends ServiceProvider
15
{
16
    /**
17
     * Indicates if loading of the provider is deferred.
18
     *
19
     * @var bool
20
     */
21
    protected $defer = false;
22
23
    /**
24
     * Bootstrap the application events.
25
     *
26
     * @return void
27
     */
28
    public function boot()
29
    {
30
        $this->routeHandle();
31
        $this->configHandle();
32
        $this->langHandle();
33
        $this->viewHandle();
34
        $this->assetHandle();
35
        $this->migrationHandle();
36
        $this->publicHandle();
37
        $this->seedHandle();
38
    }
39
40
    /**
41
     * Register the service provider.
42
     *
43
     * @return void
44
     */
45
    public function register()
46
    {
47
        $this->app->singleton('user', function ($app) {
0 ignored issues
show
Unused Code introduced by
The parameter $app is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
48
            return new User;
49
        });
50
51
        $this->app->singleton('command.user', function ($app) {
0 ignored issues
show
Unused Code introduced by
The parameter $app is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
52
            return new UserCommand;
53
        });
54
55
        $this->commands('command.user');
56
    }
57
58
    /**
59
     * Get the services provided by the provider.
60
     *
61
     * @return array
62
     */
63
    public function provides()
64
    {
65
        return [
66
            'user',
67
            'command.user',
68
        ];
69
    }
70
71
    /**
72
     * Loading and publishing package's config
73
     *
74
     * @return void
75
     */
76
    protected function configHandle()
77
    {
78
        $packageConfigPath = __DIR__.'/config/config.php';
79
        $appConfigPath     = config_path('user.php');
80
81
        $this->mergeConfigFrom($packageConfigPath, 'user');
82
83
        $this->publishes([
84
            $packageConfigPath => $appConfigPath,
85
        ], 'user-config');
86
    }
87
88
    /**
89
     * Loading package routes
90
     *
91
     * @return void
92
     */
93
    protected function routeHandle()
94
    {
95
        $this->loadRoutesFrom(__DIR__.'/routes/routes.php');
96
    }
97
98
    /**
99
     * Loading and publishing package's translations
100
     *
101
     * @return void
102
     */
103
    protected function langHandle()
104
    {
105
        $packageTranslationsPath = __DIR__.'/resources/lang';
106
107
        $this->loadTranslationsFrom($packageTranslationsPath, 'user');
108
109
        $this->publishes([
110
            $packageTranslationsPath => resource_path('lang/vendor/user'),
111
        ], 'user-lang');
112
    }
113
114
    /**
115
     * Loading and publishing package's views
116
     *
117
     * @return void
118
     */
119
    protected function viewHandle()
120
    {
121
        $packageViewsPath = __DIR__.'/resources/views';
122
123
        $this->loadViewsFrom($packageViewsPath, 'user');
124
125
        $this->publishes([
126
            $packageViewsPath => resource_path('views/vendor/user'),
127
        ], 'user-views');
128
    }
129
130
    /**
131
     * Publishing package's assets (JavaScript, CSS, images...)
132
     *
133
     * @return void
134
     */
135
    protected function assetHandle()
136
    {
137
        $packageAssetsPath = __DIR__.'/resources/assets';
138
139
        $this->publishes([
140
            $packageAssetsPath => resource_path('assets'),
141
        ], 'user-assets');
142
    }
143
144
    /**
145
     * Publishing package's migrations
146
     *
147
     * @return void
148
     */
149
    protected function migrationHandle()
150
    {
151
        $packageMigrationsPath = __DIR__.'/database/migrations';
152
153
        $this->loadMigrationsFrom($packageMigrationsPath);
154
155
        $this->publishes([
156
            $packageMigrationsPath => database_path('migrations')
157
        ], 'user-migrations');
158
    }
159
160
    public function publicHandle()
161
    {
162
        $packagePublicPath = __DIR__.'/public';
163
164
        $this->publishes([
165
            $packagePublicPath => base_path('public')
166
        ], 'user-public');
167
    }
168
169
    public function seedHandle()
170
    {
171
        $packageSeedPath = __DIR__.'/database/seeds';
172
173
        $this->publishes([
174
            $packageSeedPath => base_path('database/seeds')
175
        ], 'user-seeds');
176
    }
177
}
178