moduleSvc = app('App\Services\ModuleService'); $this->registerRoutes(); $this->registerTranslations(); $this->registerConfig(); $this->registerViews(); $this->registerLinks(); $this->registerFactories(); $this->loadMigrationsFrom(__DIR__ . '/../$MIGRATIONS_PATH$'); } /** * Register the service provider. */ public function register() { // } /** * Add module links here */ public function registerLinks() { // Show this link if logged in // $this->moduleSvc->addFrontendLink('$STUDLY_NAME$', '/$LOWER_NAME$', '', $logged_in=true); // Admin links: $this->moduleSvc->addAdminLink('$STUDLY_NAME$', '/$LOWER_NAME$/admin'); } /** * Register the routes */ protected function registerRoutes() { Route::group([ 'as' => '$LOWER_NAME$.', 'prefix' => '$LOWER_NAME$', // If you want a RESTful module, change this to 'api' 'middleware' => ['web'], 'namespace' => '$MODULE_NAMESPACE$\$STUDLY_NAME$\Http\Controllers' ], function() { $this->loadRoutesFrom(__DIR__ . '/../Http/routes.php'); }); } /** * Register config. */ 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. */ public function registerViews() { $viewPath = resource_path('views/modules/$LOWER_NAME$'); $sourcePath = __DIR__.'/../$PATH_VIEWS$'; $this->publishes([ $sourcePath => $viewPath ],'views'); $this->loadViewsFrom(array_merge(array_map(function ($path) { return $path . '/modules/$LOWER_NAME$'; }, \Config::get('view.paths')), [$sourcePath]), '$LOWER_NAME$'); } /** * Register translations. */ 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__ . '/../$FACTORIES_PATH$'); } } /** * Get the services provided by the provider. */ public function provides() { return []; } }