Source of file TemplateMailable.php
Size: 1,199 Bytes - Last Modified: 2019-06-27T14:28:10+00:00
/home/vagrant/www/document-templates/src/MailTemplates/TemplateMailable.php
| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 | <?phpnamespace BWF\DocumentTemplates\MailTemplates; use App\User; use BWF\DocumentTemplates\DocumentTemplates\DocumentTemplateFactory; use BWF\DocumentTemplates\DocumentTemplates\DocumentTemplateModelInterface; use Illuminate\Bus\Queueable; use Illuminate\Mail\Mailable; use Illuminate\Queue\SerializesModels; class TemplateMailable extends Mailable {use Queueable, SerializesModels; /** @var MailTemplateInterface */ public $mailTemplate; /** * Create a new message instance. * * @param DocumentTemplateModelInterface $mailTemplateModel * @param array $templateData * @throws \Exception */public function __construct(DocumentTemplateModelInterface $mailTemplateModel, $templateData = []) { $this->mailTemplate = DocumentTemplateFactory::build($mailTemplateModel); foreach ($templateData as $name => $data){ $this->mailTemplate->addTemplateData($data, $name); } } /** * Build the message. * * @return $this */public function build() { return $this->html($this->mailTemplate->render()) ->subject($this->mailTemplate->renderSubject()); } } |