original_string: 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;
    }
code: 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;
    }
code_tokens: 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 ; }
docstring: `push` a new value onto end of array
  
  @param   string  $attribute  attribute name
  @param   mixed   $value      attribute value
  
  @return  $this
docstring_tokens: push a new value onto end of array