original_string: protected function &_getKey($key)
      {
          $default = null;
          $parts = is_string($key) ? explode('.', $key) : $key;
  
          switch (count($parts)) {
              case 1:
                  if (isset($this->_info[$parts[0]])) {
                      return $this->_info[$parts[0]];
                  }
  
                  return $default;
              case 2:
                  if (isset($this->_info[$parts[0]][$parts[1]])) {
                      return $this->_info[$parts[0]][$parts[1]];
                  }
  
                  return $default;
              case 3:
                  if (isset($this->_info[$parts[0]][$parts[1]][$parts[2]])) {
                      return $this->_info[$parts[0]][$parts[1]][$parts[2]];
                  }
  
                  return $default;
              case 4:
                  if (isset($this->_info[$parts[0]][$parts[1]][$parts[2]][$parts[3]])) {
                      return $this->_info[$parts[0]][$parts[1]][$parts[2]][$parts[3]];
                  }
  
                  return $default;
              default:
                  $data = $this->_info;
                  foreach ($parts as $key) {
                      if (is_array($data) && isset($data[$key])) {
                          $data = $data[$key];
                      } else {
                          return $default;
                      }
                  }
          }
  
          return $data;
      }
code: protected function &_getKey($key)
      {
          $default = null;
          $parts = is_string($key) ? explode('.', $key) : $key;
  
          switch (count($parts)) {
              case 1:
                  if (isset($this->_info[$parts[0]])) {
                      return $this->_info[$parts[0]];
                  }
  
                  return $default;
              case 2:
                  if (isset($this->_info[$parts[0]][$parts[1]])) {
                      return $this->_info[$parts[0]][$parts[1]];
                  }
  
                  return $default;
              case 3:
                  if (isset($this->_info[$parts[0]][$parts[1]][$parts[2]])) {
                      return $this->_info[$parts[0]][$parts[1]][$parts[2]];
                  }
  
                  return $default;
              case 4:
                  if (isset($this->_info[$parts[0]][$parts[1]][$parts[2]][$parts[3]])) {
                      return $this->_info[$parts[0]][$parts[1]][$parts[2]][$parts[3]];
                  }
  
                  return $default;
              default:
                  $data = $this->_info;
                  foreach ($parts as $key) {
                      if (is_array($data) && isset($data[$key])) {
                          $data = $data[$key];
                      } else {
                          return $default;
                      }
                  }
          }
  
          return $data;
      }
code_tokens: protected function & _getKey ( $ key ) { $ default = null ; $ parts = is_string ( $ key ) ? explode ( '.' , $ key ) : $ key ; switch ( count ( $ parts ) ) { case 1 : if ( isset ( $ this -> _info [ $ parts [ 0 ] ] ) ) { return $ this -> _info [ $ parts [ 0 ] ] ; } return $ default ; case 2 : if ( isset ( $ this -> _info [ $ parts [ 0 ] ] [ $ parts [ 1 ] ] ) ) { return $ this -> _info [ $ parts [ 0 ] ] [ $ parts [ 1 ] ] ; } return $ default ; case 3 : if ( isset ( $ this -> _info [ $ parts [ 0 ] ] [ $ parts [ 1 ] ] [ $ parts [ 2 ] ] ) ) { return $ this -> _info [ $ parts [ 0 ] ] [ $ parts [ 1 ] ] [ $ parts [ 2 ] ] ; } return $ default ; case 4 : if ( isset ( $ this -> _info [ $ parts [ 0 ] ] [ $ parts [ 1 ] ] [ $ parts [ 2 ] ] [ $ parts [ 3 ] ] ) ) { return $ this -> _info [ $ parts [ 0 ] ] [ $ parts [ 1 ] ] [ $ parts [ 2 ] ] [ $ parts [ 3 ] ] ; } return $ default ; default : $ data = $ this -> _info ; foreach ( $ parts as $ key ) { if ( is_array ( $ data ) && isset ( $ data [ $ key ] ) ) { $ data = $ data [ $ key ] ; } else { return $ default ; } } } return $ data ; }
docstring: Gets info value for the given key.
  
  @param string|array $key The path to read. String using a dot-syntax, or an
  array result of exploding by `.` symbol
  @return mixed
docstring_tokens: Gets info value for the given key .