element from the provided $element * * @param ElementInterface $element * @throws Exception\InvalidArgumentException * @throws Exception\DomainException * @return string */ public function render(ElementInterface $element) { if (!$element instanceof CheckboxElement) { throw new Exception\InvalidArgumentException(sprintf( '%s requires that the element is of type Zend\Form\Element\Checkbox', __METHOD__ )); } $name = $element->getName(); if (empty($name) && $name !== 0) { throw new Exception\DomainException(sprintf( '%s requires that the element has an assigned name; none discovered', __METHOD__ )); } $attributes = $element->getAttributes(); $attributes['name'] = $name; $attributes['type'] = $this->getInputType(); $attributes['value'] = $element->getCheckedValue(); $closingBracket = $this->getInlineClosingBracket(); if ($element->isChecked()) { $attributes['checked'] = 'checked'; } $rendered = sprintf( 'createAttributesString($attributes), $closingBracket ); if ($element->useHiddenElement()) { $hiddenAttributes = array( 'disabled' => isset($attributes['disabled']) ? $attributes['disabled'] : false, 'name' => $attributes['name'], 'value' => $element->getUncheckedValue(), ); $rendered = sprintf( 'createAttributesString($hiddenAttributes), $closingBracket ) . $rendered; } return $rendered; } /** * Return input type * * @return string */ protected function getInputType() { return 'checkbox'; } }