Source of file DocumentTemplateFactory.php
Size: 0,963 Bytes - Last Modified: 2019-06-27T09:09:04+00:00
/home/vagrant/www/document-templates/src/DocumentTemplates/DocumentTemplateFactory.php
| 123456789101112131415161718192021222324252627282930313233343536 | <?phpnamespace BWF\DocumentTemplates\DocumentTemplates; class DocumentTemplateFactory {/** * @param \BWF\DocumentTemplates\DocumentTemplates\DocumentTemplateModelInterface $model * @throws \Exception * * @return \BWF\DocumentTemplates\DocumentTemplates\DocumentTemplateInterface */public static function build(DocumentTemplateModelInterface $model) { /** @var DocumentTemplateInterface $instance */ $instance = null; $class = $model->getDocumentClass(); if (!class_exists($class) || !in_array( DocumentTemplateInterface::class, class_implements($class))) { throw new \Exception( sprintf('Document class: "%s" must implement "%s"', $class, DocumentTemplateInterface::class ) ); } $instance = new $class(); $instance->init($model); return $instance; } } |