Php: как добавить элемент ввода стиля через класс
У меня есть форма класса, которая имеет методы ' write(), attr($key,$value) и addClass($array). Метод write() выводит входной элемент` type="$this->type", метод attr($key,$value) дает атрибут этому входному элементу, а метод addClass($array) дает стиль этому входному элементу. Я написал методы write() и attr($key,$value), все нормально, это работает, но у меня есть некоторые проблемы с методом addClass($array).
Например`
$f = new TextElement(); $f->attr("value","#97BEF0"); $f->addStyle(array("color"=>"red", "font-size"=>"20px")); $f->write();
Кстати, у меня также есть класс TextElement, который наследуется от класса Form.
Что я уже пробовал:
class Form{ public $type; public $attr = ""; public $arr = array(); //print input function write(){ print "<input type='$this->type' $this->attr style='$this->arr'>"; } //add attribute function attr($key,$value){ $this->attr .= "$key='$value'"; } //add style function addStyle($array){ for($i = 0; $i < count($array); $i++){ $this->arr = $array[$i]; } } } class TextElement extends Form{ function __construct(){ $this->type = "text"; } } $p = new TextElement(); $p->attr("value","#97BEF0"); $p->addStyle(array("color"=>"red", "font-size"=>"20px")); $p->write();
Итак, моя проблема заключается в методе addStyle($array), как я должен давать параметры массиву? Это дает мне ошибку` Nitice: преобразование массива в строку.