Создание формы в ООП и добавление стилей

Не много опыта в ООП,только его вот начинаю изучать. Не могу никак понять как это должно работать.Есть класс,я его реализую через интерфейс,в поле задаю значение HTML тега input и вывожу его через функцию show().Но,нужно добавить ко всему этому еще и стили,к самой форме.Сколько не пробовал,ничего не выходит.Прилагаю попытки этого кода.Прошу помощи,спасибо за внимание!

interface Input {

    public function show();
    public function addStyles(array $style);

}


class InputEmail implements Input {
private $label = "Ввод адреса";
private $_html = "<input type= email name=  email>";

    function show() {
     $this->_html ;
    echo $this->label;
    echo "<link rel='stylesheet' href='style.css'>";
    }


public function addStyles(array $style) {
    foreach($style as $key => $value) {
     
      $styles .= $key."form".$value."form-control";
    }

    // Теперь просто создаем input сразу со стилями с атрибутом style
    $this->_html = "<input type= 'email' style='".$styles."'>";
}



}








$style =['color'=> 'red', 'font-size'=> '15px'];



interface Input {

    public function show();
    public function addStyles(array $style);

}


class InputEmail implements Input {
private $label = "Ввод адреса";
private $_html = "<input type= email name=  email>";

    public function show() {

    return $this->_html ." " . $this->label ;

    echo"<link rel='stylesheet' href='style.css'>";
    }


public function addStyles(array $style) {
    $this->_html = '<input type="email" style=;"'. join(' ', $style).'">';;
}


function showHtml(){
    return $this->_html;
}



}
$class = new InputEmail();
$class->addStyles(['color'=> 'red' , 'font-size'=> '15px']);
echo $class->showHtml();

Ответы (0 шт):