ThemeServiceProvider.php 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?php
  2. namespace Webkul\Theme\Providers;
  3. use Illuminate\Support\Facades\Blade;
  4. use Illuminate\Support\ServiceProvider;
  5. use Webkul\Theme\ThemeViewFinder;
  6. use Webkul\Theme\ViewRenderEventManager;
  7. class ThemeServiceProvider extends ServiceProvider
  8. {
  9. /**
  10. * Register services.
  11. *
  12. * @return void
  13. */
  14. public function register()
  15. {
  16. include __DIR__.'/../Http/helpers.php';
  17. $this->app->singleton('view.finder', function ($app) {
  18. return new ThemeViewFinder(
  19. $app['files'],
  20. $app['config']['view.paths'],
  21. null
  22. );
  23. });
  24. $this->app->singleton(ViewRenderEventManager::class);
  25. }
  26. /**
  27. * Bootstrap services.
  28. *
  29. * @return void
  30. */
  31. public function boot()
  32. {
  33. $this->loadMigrationsFrom(__DIR__.'/../Database/Migrations');
  34. Blade::directive('bagistoVite', function ($expression) {
  35. return "<?php echo themes()->setBagistoVite({$expression})->toHtml(); ?>";
  36. });
  37. }
  38. }