name = $name; $this->paramsArray = $paramsArray; $this->inputTemplate = new SimpleTemplate(); } /** * @return self */ public function create(): self { $paramsString = $this->createParams($this->paramsArray); $label = ""; $input = ""; if($this->hasLabel == true) { $label = ""; } $this->html = str_replace('{input}', $input, $this->inputTemplate->getInputTemplate()); $this->html = str_replace('{label}', $label, $this->html); return $this; } /** * @param string $name * @param array $paramsArray * @return void */ public static function build(string $name, array $paramsArray = []): void { $input = new self($name, $paramsArray); $input->create()->render(); } /** * @param string $title * @return $this */ public function setLabel(string $title): self { $this->hasLabel = true; $this->labelTitle = $title; return $this; } /** * @param $template * @return $this */ public function setTemplate($template): self { $this->inputTemplate = new $template(); return $this; } }