![]() Server : Apache/2.4.62 (Unix) OpenSSL/1.0.2k-fips System : Linux server1.richineiserver.com 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 User : fdshops ( 1003) PHP Version : 8.2.21 Disable Function : NONE Directory : /home/fdshops/public_html/vendor/nwidart/laravel-modules/src/ |
<?php namespace Nwidart\Modules; use Nwidart\Modules\Contracts\RepositoryInterface; use Nwidart\Modules\Exceptions\InvalidActivatorClass; use Nwidart\Modules\Support\Stub; class LaravelModulesServiceProvider extends ModulesServiceProvider { /** * Booting the package. */ public function boot() { $this->registerNamespaces(); $this->registerModules(); } /** * Register the service provider. */ public function register() { $this->registerServices(); $this->setupStubPath(); $this->registerProviders(); $this->mergeConfigFrom(__DIR__ . '/../config/config.php', 'modules'); } /** * Setup stub path. */ public function setupStubPath() { $path = $this->app['config']->get('modules.stubs.path') ?? __DIR__ . '/Commands/stubs'; Stub::setBasePath($path); $this->app->booted(function ($app) { /** @var RepositoryInterface $moduleRepository */ $moduleRepository = $app[RepositoryInterface::class]; if ($moduleRepository->config('stubs.enabled') === true) { Stub::setBasePath($moduleRepository->config('stubs.path')); } }); } /** * {@inheritdoc} */ protected function registerServices() { $this->app->singleton(Contracts\RepositoryInterface::class, function ($app) { $path = $app['config']->get('modules.paths.modules'); return new Laravel\LaravelFileRepository($app, $path); }); $this->app->singleton(Contracts\ActivatorInterface::class, function ($app) { $activator = $app['config']->get('modules.activator'); $class = $app['config']->get('modules.activators.' . $activator)['class']; if ($class === null) { throw InvalidActivatorClass::missingConfig(); } return new $class($app); }); $this->app->alias(Contracts\RepositoryInterface::class, 'modules'); } }