123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- <?php
- namespace Modules\Finance\Providers;
- use Illuminate\Support\ServiceProvider;
- use Illuminate\Database\Eloquent\Factory;
- class FinanceServiceProvider extends ServiceProvider
- {
- /**
- * @var string $moduleName
- */
- protected $moduleName = 'Finance';
- /**
- * @var string $moduleNameLower
- */
- protected $moduleNameLower = 'finance';
- /**
- * Boot the application events.
- *
- * @return void
- */
- public function boot()
- {
- $this->registerTranslations();
- $this->registerConfig();
- $this->registerViews();
- $this->loadMigrationsFrom(module_path($this->moduleName, 'Database/Migrations'));
- }
- /**
- * Register the service provider.
- *
- * @return void
- */
- public function register()
- {
- $this->app->register(RouteServiceProvider::class);
- }
- /**
- * Register config.
- *
- * @return void
- */
- protected function registerConfig()
- {
- $this->publishes([
- module_path($this->moduleName, 'Config/config.php') => config_path($this->moduleNameLower . '.php'),
- ], 'config');
- $this->mergeConfigFrom(
- module_path($this->moduleName, 'Config/config.php'), $this->moduleNameLower
- );
- }
- /**
- * Register views.
- *
- * @return void
- */
- public function registerViews()
- {
- $viewPath = resource_path('views/modules/' . $this->moduleNameLower);
- $sourcePath = module_path($this->moduleName, 'Resources/views');
- $this->publishes([
- $sourcePath => $viewPath
- ], ['views', $this->moduleNameLower . '-module-views']);
- $this->loadViewsFrom(array_merge($this->getPublishableViewPaths(), [$sourcePath]), $this->moduleNameLower);
- }
- /**
- * Register translations.
- *
- * @return void
- */
- public function registerTranslations()
- {
- $langPath = resource_path('lang/modules/' . $this->moduleNameLower);
- if (is_dir($langPath)) {
- $this->loadTranslationsFrom($langPath, $this->moduleNameLower);
- } else {
- $this->loadTranslationsFrom(module_path($this->moduleName, 'Resources/lang'), $this->moduleNameLower);
- }
- }
- /**
- * Get the services provided by the provider.
- *
- * @return array
- */
- public function provides()
- {
- return [];
- }
- private function getPublishableViewPaths(): array
- {
- $paths = [];
- foreach (\Config::get('view.paths') as $path) {
- if (is_dir($path . '/modules/' . $this->moduleNameLower)) {
- $paths[] = $path . '/modules/' . $this->moduleNameLower;
- }
- }
- return $paths;
- }
- }
|