public function setLabel($label)
    {
        $this->label = $this->checkLabel($label);
        $class = $this->label->getAttribute('class');
        $this->label->setAttribute('for', $this->generateId())
            ->setAttribute('class', trim("control-label {$class}"));
        return $this;
    }
public function setLabel($label)
    {
        $this->label = $this->checkLabel($label);
        $class = $this->label->getAttribute('class');
        $this->label->setAttribute('for', $this->generateId())
            ->setAttribute('class', trim("control-label {$class}"));
        return $this;
    }
public function setLabel ( $ label ) { $ this -> label = $ this -> checkLabel ( $ label ) ; $ class = $ this -> label -> getAttribute ( 'class' ) ; $ this -> label -> setAttribute ( 'for' , $ this -> generateId ( ) ) -> setAttribute ( 'class' , trim ( "control-label {$class}" ) ) ; return $ this ; }
Sets the input label

Label parameter can be a string or a element interface.
If a string is provided then an ElementInterface MUST be created.
This element MUST result in a <label> HTML tag when rendering and
as you may define your own implementation it is advisable that you
use the Slick\Form\Element\Label object.

@param string|ElementInterface $label

@return self|$this|InputInterface

@throws InvalidArgumentException If the provided label is not a string
or is not an object of a class implementing the ElementInterface.
Sets the input label