laravel-mail-templates/src/MailTemplatesServiceProvide...

40 lines
1.2 KiB
PHP

<?php
namespace Bluesquare\MailTemplates;
use Bluesquare\MailTemplates\Providers\BluesquareMailProvider;
use Bluesquare\MailTemplates\Providers\LogsProvider;
use Bluesquare\MailTemplates\Providers\SendinblueProvider;
use Bluesquare\MailTemplates\Providers\TemplateMailProvider;
use Illuminate\Support\ServiceProvider;
class MailTemplatesServiceProvider extends ServiceProvider
{
public function register()
{
$this->mergeConfigFrom(
__DIR__ . '/../config/mail_templates.php',
'mail_templates'
);
$this->app->singleton(TemplateMailProvider::class, function ($app) {
$config = config('mail_templates');
switch ($config['provider']) {
case 'logs': return new LogsProvider($config);
case 'sendinblue': return new SendinblueProvider($config);
case 'bluesquare': return new BluesquareMailProvider($config);
}
throw new MailTemplatesException("Unknown provider {$config['provider']}");
});
}
public function boot()
{
$this->publishes([
__DIR__ . '/../config/mail_templates.php' => config_path('mail_templates.php')
], 'config');
}
}