Neos\Flow\Core\Bootstrap::getEnvironmentConfigurationSetting PHP Method

getEnvironmentConfigurationSetting() public static method

- getenv with $variableName - getenv with REDIRECT_ . $variableName (this is for php cgi where environment variables from the http server get prefixed) - $_SERVER[$variableName] (this is an alternative to set FLOW_* environment variables if passing environment variables is not possible) - $_SERVER[REDIRECT_ . $variableName] (again for php cgi environments)
public static getEnvironmentConfigurationSetting ( string $variableName ) : string
$variableName string
return string or NULL if this variable was not set at all.
    public static function getEnvironmentConfigurationSetting($variableName)
    {
        $variableValue = getenv($variableName);
        if ($variableValue !== false) {
            return $variableValue;
        }
        $variableValue = getenv('REDIRECT_' . $variableName);
        if ($variableValue !== false) {
            return $variableValue;
        }
        if (isset($_SERVER[$variableName])) {
            return $_SERVER[$variableName];
        }
        if (isset($_SERVER['REDIRECT_' . $variableName])) {
            return $_SERVER['REDIRECT_' . $variableName];
        }
        return null;
    }

Usage Example

 /**
  * Returns the form definitions for the step
  *
  * @param FormDefinition $formDefinition
  * @return void
  */
 protected function buildForm(FormDefinition $formDefinition)
 {
     $page1 = $formDefinition->createPage('page1');
     $page1->setRenderingOption('header', 'Setup complete');
     $congratulations = $page1->createElement('congratulationsSection', 'Neos.Form:Section');
     $congratulations->setLabel('Congratulations');
     $success = $congratulations->createElement('success', 'Neos.Form:StaticText');
     $success->setProperty('text', 'You have successfully installed Neos! If you need help getting started, please refer to the Neos documentation.');
     $success->setProperty('elementClassAttribute', 'alert alert-success');
     $docs = $congratulations->createElement('docsLink', 'Neos.Setup:LinkElement');
     $docs->setLabel('Read the documentation');
     $docs->setProperty('href', 'https://neos.readthedocs.org/');
     $docs->setProperty('target', '_blank');
     $contextEnv = Bootstrap::getEnvironmentConfigurationSetting('FLOW_CONTEXT') ?: 'Development';
     $applicationContext = new ApplicationContext($contextEnv);
     if (!$applicationContext->isProduction()) {
         $context = $page1->createElement('contextSection', 'Neos.Form:Section');
         $context->setLabel('Define application context');
         $contextInfo = $context->createElement('contextInfo', 'Neos.Form:StaticText');
         $contextInfo->setProperty('text', 'Your Neos installation is currently not running in "Production" context. If you want to experience Neos with its full speed, you should now change your FLOW_CONTEXT environment variable to "Production".');
         $contextDocs = $context->createElement('contextDocsLink', 'Neos.Setup:LinkElement');
         $contextDocs->setLabel('Read about application contexts');
         $contextDocs->setProperty('href', 'http://flowframework.readthedocs.org/en/stable/TheDefinitiveGuide/PartIII/Bootstrapping.html#the-typo3-flow-application-context');
         $contextDocs->setProperty('target', '_blank');
     }
     $frontend = $page1->createElement('frontendSection', 'Neos.Form:Section');
     $frontend->setLabel('View the site');
     $link = $frontend->createElement('link', 'Neos.Setup:LinkElement');
     $link->setLabel('Go to the frontend');
     $link->setProperty('href', '/');
     $link->setProperty('elementClassAttribute', 'btn btn-large btn-primary');
     $backend = $page1->createElement('backendSection', 'Neos.Form:Section');
     $backend->setLabel('Start editing');
     $backendLink = $backend->createElement('backendLink', 'Neos.Setup:LinkElement');
     $backendLink->setLabel('Go to the backend');
     $backendLink->setProperty('href', '/neos');
     $backendLink->setProperty('elementClassAttribute', 'btn btn-large btn-primary');
     $loggedOut = $page1->createElement('loggedOut', 'Neos.Form:StaticText');
     $loggedOut->setProperty('text', 'You have automatically been logged out for security reasons since this is the final step. Refresh the page to log in again if you missed something.');
     $loggedOut->setProperty('elementClassAttribute', 'alert alert-info');
 }
All Usage Examples Of Neos\Flow\Core\Bootstrap::getEnvironmentConfigurationSetting