112 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			112 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| namespace $NAMESPACE$;
 | |
| 
 | |
| use Illuminate\Support\ServiceProvider;
 | |
| use Illuminate\Database\Eloquent\Factory;
 | |
| 
 | |
| class $CLASS$ extends ServiceProvider
 | |
| {
 | |
|     /**
 | |
|      * Indicates if loading of the provider is deferred.
 | |
|      *
 | |
|      * @var bool
 | |
|      */
 | |
|     protected $defer = false;
 | |
| 
 | |
|     /**
 | |
|      * Boot the application events.
 | |
|      *
 | |
|      * @return void
 | |
|      */
 | |
|     public function boot()
 | |
|     {
 | |
|         $this->registerTranslations();
 | |
|         $this->registerConfig();
 | |
|         $this->registerViews();
 | |
|         $this->registerFactories();
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Register the service provider.
 | |
|      *
 | |
|      * @return void
 | |
|      */
 | |
|     public function register()
 | |
|     {
 | |
|         //
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Register config.
 | |
|      *
 | |
|      * @return void
 | |
|      */
 | |
|     protected function registerConfig()
 | |
|     {
 | |
|         $this->publishes([
 | |
|             __DIR__.'/../$PATH_CONFIG$/config.php' => config_path('$LOWER_NAME$.php'),
 | |
|         ], 'config');
 | |
|         $this->mergeConfigFrom(
 | |
|             __DIR__.'/../$PATH_CONFIG$/config.php', '$LOWER_NAME$'
 | |
|         );
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Register views.
 | |
|      *
 | |
|      * @return void
 | |
|      */
 | |
|     public function registerViews()
 | |
|     {
 | |
|         $viewPath = resource_path('views/modules/$LOWER_NAME$');
 | |
| 
 | |
|         $sourcePath = __DIR__.'/../$PATH_VIEWS$';
 | |
| 
 | |
|         $this->publishes([
 | |
|             $sourcePath => $viewPath
 | |
|         ]);
 | |
| 
 | |
|         $this->loadViewsFrom(array_merge(array_map(function ($path) {
 | |
|             return $path . '/modules/$LOWER_NAME$';
 | |
|         }, \Config::get('view.paths')), [$sourcePath]), '$LOWER_NAME$');
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Register translations.
 | |
|      *
 | |
|      * @return void
 | |
|      */
 | |
|     public function registerTranslations()
 | |
|     {
 | |
|         $langPath = resource_path('lang/modules/$LOWER_NAME$');
 | |
| 
 | |
|         if (is_dir($langPath)) {
 | |
|             $this->loadTranslationsFrom($langPath, '$LOWER_NAME$');
 | |
|         } else {
 | |
|             $this->loadTranslationsFrom(__DIR__ .'/../$PATH_LANG$', '$LOWER_NAME$');
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Register an additional directory of factories.
 | |
|      * @source https://github.com/sebastiaanluca/laravel-resource-flow/blob/develop/src/Modules/ModuleServiceProvider.php#L66
 | |
|      */
 | |
|     public function registerFactories()
 | |
|     {
 | |
|         if (! app()->environment('production')) {
 | |
|             app(Factory::class)->load(__DIR__ . '/Database/factories');
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Get the services provided by the provider.
 | |
|      *
 | |
|      * @return array
 | |
|      */
 | |
|     public function provides()
 | |
|     {
 | |
|         return [];
 | |
|     }
 | |
| }
 |