Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace Src\Components\DICOM;
- /**
- * Фабрика для создания экземпляров элеменов по тэгу или его имени.
- */
- abstract class DataElementFactory
- {
- /**
- * @var array
- */
- protected $dict = [];
- /**
- * При инстанциировании фабрики загружается словарь элементов.
- */
- public function __construct()
- {
- $pattern = dirname(__FILE__) . "/dict/*.php";
- foreach (glob($pattern) as $dict) {
- $data = require $dict;
- $this->dict = array_merge($this->dict, $data);
- }
- }
- /**
- * Инстанциирует элемент по его типу.
- * @param mixed $type
- * @return DataElement
- */
- abstract public function factory($type): DataElement;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement