Viewing file: ServiceProvider.php (2.21 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php namespace Barryvdh\DomPDF;
use Dompdf\Dompdf; use Exception; use Illuminate\Support\Str; use Illuminate\Support\ServiceProvider as IlluminateServiceProvider;
class ServiceProvider extends IlluminateServiceProvider {
/** * Indicates if loading of the provider is deferred. * * @var bool */ protected $defer = false;
/** * Register the service provider. * * @throws \Exception * @return void */ public function register() { $configPath = __DIR__.'/../config/dompdf.php'; $this->mergeConfigFrom($configPath, 'dompdf');
$this->app->bind('dompdf.options', function(){ $defines = $this->app['config']->get('dompdf.defines');
if ($defines) { $options = []; foreach ($defines as $key => $value) { $key = strtolower(str_replace('DOMPDF_', '', $key)); $options[$key] = $value; } } else { $options = $this->app['config']->get('dompdf.options'); }
return $options;
});
$this->app->bind('dompdf', function() {
$options = $this->app->make('dompdf.options'); $dompdf = new Dompdf($options); $dompdf->setBasePath(realpath(base_path('public')));
return $dompdf; }); $this->app->alias('dompdf', Dompdf::class);
$this->app->bind('dompdf.wrapper', function ($app) { return new PDF($app['dompdf'], $app['config'], $app['files'], $app['view']); });
}
/** * Check if package is running under Lumen app * * @return bool */ protected function isLumen() { return Str::contains($this->app->version(), 'Lumen') === true; }
public function boot() { if (! $this->isLumen()) { $configPath = __DIR__.'/../config/dompdf.php'; $this->publishes([$configPath => config_path('dompdf.php')], 'config'); } }
/** * Get the services provided by the provider. * * @return array */ public function provides() { return array('dompdf', 'dompdf.options', 'dompdf.wrapper'); }
}
|