Source of file IterableTemplateDataSource.php
Size: 1,436 Bytes - Last Modified: 2019-06-27T09:09:04+00:00
/home/vagrant/www/document-templates/src/TemplateDataSources/IterableTemplateDataSource.php
| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 | <?phpnamespace BWF\DocumentTemplates\TemplateDataSources; class IterableTemplateDataSource extends TemplateDataSource implements TemplateDataSourceInterface {/** * @var TemplateDataSource[] */protected $data = []; /** * ArrayTemplateDataSource constructor. * @param TemplateDataSource[] $data * @param null $namespace */public function __construct($data, $namespace = null) { parent::__construct($data, $namespace); } /** * @param bool $useNamespace * @return array|Array */public function getTemplateData($useNamespace = true) { $templateData = []; foreach ($this->data as $dataSource) { $templateData[] = $dataSource->getTemplateData(false); } $data = $templateData; if ($useNamespace) { $data = $this->namespace ? [$this->getNameSpace() => $templateData] : $templateData; } return $data; } /** * @return array|string[] */public function getPlaceholders() { $placeholders = []; foreach ($this->data as $dataSource) { $placeholders = $dataSource->getPlaceholders(); break; } $placeholderGroup = new PlaceholderGroup( $this->getNameSpace(), $placeholders->getPlaceholders(), TYPE_ITERABLE_PLACEHOLDER ); return $placeholderGroup; } } |