protected function _getEnvironment()
    {
        $environment = self::$forceEnvironment;

        // Check if the environment has been manually set (forced).
        if ($environment !== null) {
            if (!isset($this->_environments[$environment])) {
                throw new Exception('Environment configuration for "' . $environment . '" could not be found.');
            }
        }
        // If no manual setting is available, use "host:port" to decide which config to use.
        if ($environment === null && !empty($_SERVER['HTTP_HOST'])) {
            $host = (string)$_SERVER['HTTP_HOST'];
            foreach ($this->_environments as $env => $envConfig) {
                if (isset($envConfig['domain']) && in_array($host, $envConfig['domain'])) {
                    $environment = $env;
                    break;
                }
            }
        }
        // If there is no host:port match, try "host" only.
        if ($environment === null && !empty($_SERVER['SERVER_NAME'])) {
            $host = (string)$_SERVER['SERVER_NAME'];
            foreach ($this->_environments as $env => $envConfig) {
                if (isset($envConfig['domain']) && in_array($host, $envConfig['domain'])) {
                    $environment = $env;
                    break;
                }
            }
        }
        // If no host matched then try to use the APP path.
        if ($environment === null && ($serverPath = $this->_getRealAppPath())) {
            foreach ($this->_environments as $env => $envConfig) {
                if (isset($envConfig['path']) && in_array($serverPath, $envConfig['path'])) {
                    $environment = $env;
                    break;
                }
            }
        }
        // No environment could be identified -> we are on a dev machine.
        if (!$environment) {
            $environment = 'local';
        }

        return $environment;
    }
protected function _getEnvironment()
    {
        $environment = self::$forceEnvironment;

        // Check if the environment has been manually set (forced).
        if ($environment !== null) {
            if (!isset($this->_environments[$environment])) {
                throw new Exception('Environment configuration for "' . $environment . '" could not be found.');
            }
        }
        // If no manual setting is available, use "host:port" to decide which config to use.
        if ($environment === null && !empty($_SERVER['HTTP_HOST'])) {
            $host = (string)$_SERVER['HTTP_HOST'];
            foreach ($this->_environments as $env => $envConfig) {
                if (isset($envConfig['domain']) && in_array($host, $envConfig['domain'])) {
                    $environment = $env;
                    break;
                }
            }
        }
        // If there is no host:port match, try "host" only.
        if ($environment === null && !empty($_SERVER['SERVER_NAME'])) {
            $host = (string)$_SERVER['SERVER_NAME'];
            foreach ($this->_environments as $env => $envConfig) {
                if (isset($envConfig['domain']) && in_array($host, $envConfig['domain'])) {
                    $environment = $env;
                    break;
                }
            }
        }
        // If no host matched then try to use the APP path.
        if ($environment === null && ($serverPath = $this->_getRealAppPath())) {
            foreach ($this->_environments as $env => $envConfig) {
                if (isset($envConfig['path']) && in_array($serverPath, $envConfig['path'])) {
                    $environment = $env;
                    break;
                }
            }
        }
        // No environment could be identified -> we are on a dev machine.
        if (!$environment) {
            $environment = 'local';
        }

        return $environment;
    }
protected function _getEnvironment ( ) { $ environment = self :: $ forceEnvironment ; // Check if the environment has been manually set (forced). if ( $ environment !== null ) { if ( ! isset ( $ this -> _environments [ $ environment ] ) ) { throw new Exception ( 'Environment configuration for "' . $ environment . '" could not be found.' ) ; } } // If no manual setting is available, use "host:port" to decide which config to use. if ( $ environment === null && ! empty ( $ _SERVER [ 'HTTP_HOST' ] ) ) { $ host = ( string ) $ _SERVER [ 'HTTP_HOST' ] ; foreach ( $ this -> _environments as $ env => $ envConfig ) { if ( isset ( $ envConfig [ 'domain' ] ) && in_array ( $ host , $ envConfig [ 'domain' ] ) ) { $ environment = $ env ; break ; } } } // If there is no host:port match, try "host" only. if ( $ environment === null && ! empty ( $ _SERVER [ 'SERVER_NAME' ] ) ) { $ host = ( string ) $ _SERVER [ 'SERVER_NAME' ] ; foreach ( $ this -> _environments as $ env => $ envConfig ) { if ( isset ( $ envConfig [ 'domain' ] ) && in_array ( $ host , $ envConfig [ 'domain' ] ) ) { $ environment = $ env ; break ; } } } // If no host matched then try to use the APP path. if ( $ environment === null && ( $ serverPath = $ this -> _getRealAppPath ( ) ) ) { foreach ( $ this -> _environments as $ env => $ envConfig ) { if ( isset ( $ envConfig [ 'path' ] ) && in_array ( $ serverPath , $ envConfig [ 'path' ] ) ) { $ environment = $ env ; break ; } } } // No environment could be identified -> we are on a dev machine. if ( ! $ environment ) { $ environment = 'local' ; } return $ environment ; }
Detect the environment and return its name.

@return string
@throws Exception
Detect the environment and return its name .