original_string: public function get($key, $default = null)
      {
          if ($this !== $result = $this->attributes->get($key, $this)) {
              return $result;
          }
  
          if ($this !== $result = $this->query->get($key, $this)) {
              return $result;
          }
  
          if ($this !== $result = $this->request->get($key, $this)) {
              return $result;
          }
  
          return $default;
      }
code: public function get($key, $default = null)
      {
          if ($this !== $result = $this->attributes->get($key, $this)) {
              return $result;
          }
  
          if ($this !== $result = $this->query->get($key, $this)) {
              return $result;
          }
  
          if ($this !== $result = $this->request->get($key, $this)) {
              return $result;
          }
  
          return $default;
      }
code_tokens: public function get ( $ key , $ default = null ) { if ( $ this !== $ result = $ this -> attributes -> get ( $ key , $ this ) ) { return $ result ; } if ( $ this !== $ result = $ this -> query -> get ( $ key , $ this ) ) { return $ result ; } if ( $ this !== $ result = $ this -> request -> get ( $ key , $ this ) ) { return $ result ; } return $ default ; }
docstring: Gets a "parameter" value from any bag.
  
  This method is mainly useful for libraries that want to provide some flexibility. If you don't need the
  flexibility in controllers, it is better to explicitly get request parameters from the appropriate
  public property instead (attributes, query, request).
  
  Order of precedence: PATH (routing placeholders or custom attributes), GET, BODY
  
  @param string $key     The key
  @param mixed  $default The default value if the parameter key does not exist
  
  @return mixed
docstring_tokens: Gets a parameter value from any bag .