loadViewsFrom(__DIR__ . '/../../../../resources/views', 'catalog'); // Load translation $this->loadTranslationsFrom(__DIR__ . '/../../../../resources/lang', 'catalog'); // Call pblish redources function $this->publishResources(); include __DIR__ . '/../Http/routes.php'; } /** * Register the service provider. * * @return void */ public function register() { // Bind facade $this->app->bind('catalog', function ($app) { return $this->app->make('Dmitry\Catalog\Catalog'); }); // Bind Catalog to repository $this->app->bind( \Dmitry\Catalog\Interfaces\CatalogRepositoryInterface::class, \Dmitry\Catalog\Repositories\Eloquent\CatalogRepository::class ); // Bind Categories to repository $this->app->bind( \Dmitry\Catalog\Interfaces\CategoriesRepositoryInterface::class, \Dmitry\Catalog\Repositories\Eloquent\CategoriesRepository::class ); $this->app->register(\Dmitry\Catalog\Providers\AuthServiceProvider::class); $this->app->register(\Dmitry\Catalog\Providers\EventServiceProvider::class); $this->app->register(\Dmitry\Catalog\Providers\RouteServiceProvider::class); } /** * Get the services provided by the provider. * * @return array */ public function provides() { return ['catalog']; } /** * Publish resources. * * @return void */ private function publishResources() { // Publish configuration file $this->publishes([__DIR__ . '/../../../../config/config.php' => config_path('package/catalog.php')], 'config'); // Publish admin view $this->publishes([__DIR__ . '/../../../../resources/views' => base_path('resources/views/vendor/catalog')], 'view'); // Publish language files $this->publishes([__DIR__ . '/../../../../resources/lang' => base_path('resources/lang/vendor/catalog')], 'lang'); // Publish migrations $this->publishes([__DIR__ . '/../../../../database/migrations/' => base_path('database/migrations')], 'migrations'); // Publish seeds $this->publishes([__DIR__ . '/../../../../database/seeds/' => base_path('database/seeds')], 'seeds'); } }