- <?php
- /**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com)
- * @license http://framework.zend.com/license/new-bsd New BSD License
- */
- namespace Zend\Form;
- interface ElementInterface
- {
- /**
- * Set the name of this element
- *
- * In most cases, this will proxy to the attributes for storage, but is
- * present to indicate that elements are generally named.
- *
- * @param string $name
- * @return ElementInterface
- */
- public function setName($name);
- /**
- * Retrieve the element name
- *
- * @return string
- */
- public function getName();
- /**
- * Set options for an element
- *
- * @param array|\Traversable $options
- * @return ElementInterface
- */
- public function setOptions($options);
- /**
- * get the defined options
- *
- * @return array
- */
- public function getOptions();
- /**
- * return the specified option
- *
- * @param string $option
- * @return null|mixed
- */
- public function getOption($option);
- /**
- * Set a single element attribute
- *
- * @param string $key
- * @param mixed $value
- * @return ElementInterface
- */
- public function setAttribute($key, $value);
- /**
- * Retrieve a single element attribute
- *
- * @param string $key
- * @return mixed
- */
- public function getAttribute($key);
- /**
- * Return true if a specific attribute is set
- *
- * @param string $key
- * @return bool
- */
- public function hasAttribute($key);
- /**
- * Set many attributes at once
- *
- * Implementation will decide if this will overwrite or merge.
- *
- * @param array|\Traversable $arrayOrTraversable
- * @return ElementInterface
- */
- public function setAttributes($arrayOrTraversable);
- /**
- * Retrieve all attributes at once
- *
- * @return array|\Traversable
- */
- public function getAttributes();
- /**
- * Set the value of the element
- *
- * @param mixed $value
- * @return ElementInterface
- */
- public function setValue($value);
- /**
- * Retrieve the element value
- *
- * @return mixed
- */
- public function getValue();
- /**
- * Set the label (if any) used for this element
- *
- * @param $label
- * @return ElementInterface
- */
- public function setLabel($label);
- /**
- * Retrieve the label (if any) used for this element
- *
- * @return string
- */
- public function getLabel();
- /**
- * Set a list of messages to report when validation fails
- *
- * @param array|\Traversable $messages
- * @return ElementInterface
- */
- public function setMessages($messages);
- /**
- * Get validation error messages, if any
- *
- * Returns a list of validation failure messages, if any.
- *
- * @return array|\Traversable
- */
- public function getMessages();
- }