Создание формы в ООП и добавление стилей
Не много опыта в ООП,только его вот начинаю изучать. Не могу никак понять как это должно работать.Есть класс,я его реализую через интерфейс,в поле задаю значение 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();