original_string: public function getAttributes()
      {
          $attributes = [];
          
          foreach ($this->attributes as $name => $attr) {
              $value = $attr instanceof \Closure || $attr instanceof DerivedAttributeInterface ? $attr($this) : $attr;
              $attributes[$name] = $value;
          }
          
          return $attributes;
      }
code: public function getAttributes()
      {
          $attributes = [];
          
          foreach ($this->attributes as $name => $attr) {
              $value = $attr instanceof \Closure || $attr instanceof DerivedAttributeInterface ? $attr($this) : $attr;
              $attributes[$name] = $value;
          }
          
          return $attributes;
      }
code_tokens: public function getAttributes ( ) { $ attributes = [ ] ; foreach ( $ this -> attributes as $ name => $ attr ) { $ value = $ attr instanceof \ Closure || $ attr instanceof DerivedAttributeInterface ? $ attr ( $ this ) : $ attr ; $ attributes [ $ name ] = $ value ; } return $ attributes ; }
docstring: Retrieve attributes derived from the request.
  
  The request "attributes" may be used to allow injection of any
  parameters derived from the request: e.g., the results of path
  match operations; the results of decrypting cookies; the results of
  deserializing non-form-encoded message bodies; etc.
  
  Attribute names are automatically turned into snake_case.
  
  @return mixed[] Attributes derived from the request.
docstring_tokens: Retrieve attributes derived from the request .