*/ class CheckboxField extends AbstractVisibleField { private $checked = false; public function __construct($form, $name) { parent::__construct($form, 'checkbox', $name); } /** * Возвращает ранее заданное значение поля * @return boolean Метод возвращает true, если поле отмечено флагом, иначе - false */ public function value() { return $this->checked; } /** * Устанавливает новое значение для поля * @param boolean $newValue Необходимо передать true, если необходимо установить флаг, false, чтобы убрать флаг * @return $this */ public function setValue($newValue) { $this->checked = !empty($newValue); return $this; } public function getAssociativeAttributes() { $attributes = parent::getAssociativeAttributes(); $attributes['value'] = 1; if ($this->checked) { $attributes['checked'] = null; } return $attributes; } }