function push($attribute, $value) {
    if (! $this->has($attribute)) {
      return $this;
    }

    $new   = $this->get($attribute);

    if (! is_array($new) && !$new instanceof Traversable) {
      return $this;
    }

    $new[] = $value;
    $this->setPropertyFor($attribute, 'value', $new, 'push');

    return $this;
  }
function push($attribute, $value) {
    if (! $this->has($attribute)) {
      return $this;
    }

    $new   = $this->get($attribute);

    if (! is_array($new) && !$new instanceof Traversable) {
      return $this;
    }

    $new[] = $value;
    $this->setPropertyFor($attribute, 'value', $new, 'push');

    return $this;
  }
function push ( $ attribute , $ value ) { if ( ! $ this -> has ( $ attribute ) ) { return $ this ; } $ new = $ this -> get ( $ attribute ) ; if ( ! is_array ( $ new ) && ! $ new instanceof Traversable ) { return $ this ; } $ new [ ] = $ value ; $ this -> setPropertyFor ( $ attribute , 'value' , $ new , 'push' ) ; return $ this ; }
`push` a new value onto end of array

@param   string  $attribute  attribute name
@param   mixed   $value      attribute value

@return  $this
push a new value onto end of array