original_string: protected function getReference(/*# string */ $name)
      {
          // default value
          $default = $this->defaultValue($name);
  
          // found in environment
          if (false !== getenv($name)) {
              return getenv($name);
          } elseif (null !== $default) {
              return $default;
  
          // PHP globals, _SERVER.HTTP_HOST etc.
          } elseif ('_' === $name[0]) {
              return $this->matchGlobalVars($name);
  
          // not found
          } else {
              return null;
          }
      }
code: protected function getReference(/*# string */ $name)
      {
          // default value
          $default = $this->defaultValue($name);
  
          // found in environment
          if (false !== getenv($name)) {
              return getenv($name);
          } elseif (null !== $default) {
              return $default;
  
          // PHP globals, _SERVER.HTTP_HOST etc.
          } elseif ('_' === $name[0]) {
              return $this->matchGlobalVars($name);
  
          // not found
          } else {
              return null;
          }
      }
code_tokens: protected function getReference ( /*# string */ $ name ) { // default value $ default = $ this -> defaultValue ( $ name ) ; // found in environment if ( false !== getenv ( $ name ) ) { return getenv ( $ name ) ; } elseif ( null !== $ default ) { return $ default ; // PHP globals, _SERVER.HTTP_HOST etc. } elseif ( '_' === $ name [ 0 ] ) { return $ this -> matchGlobalVars ( $ name ) ; // not found } else { return null ; } }
docstring: Find the env value base on the name
  
  - support super globals like '${_SERVER.HTTP_HOST}' etc.
  - use getenv()
  
  {@inheritDoc}
docstring_tokens: Find the env value base on the name