# cookiebot/3.11.2/addons/inc/Dependencies/DI/Definition/Helper/EnvironmentVariableDefinitionHelper.php

Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA &amp; Google Consent Mode, version 3.11.2. 65 lines.

- Page: https://pluginprobe.com/plugins/cookiebot/3.11.2/code/addons/inc/Dependencies/DI/Definition/Helper/EnvironmentVariableDefinitionHelper.php
- Raw: https://pluginprobe.com/plugins/cookiebot/3.11.2/raw/addons/inc/Dependencies/DI/Definition/Helper/EnvironmentVariableDefinitionHelper.php
- Modified: 2021-03-23T11:49:48+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/cookiebot/3.11.2/code/addons/inc/Dependencies/DI/Definition/Helper/EnvironmentVariableDefinitionHelper.php#L10-L20`.

```php
<?php
/**
 * PHP-DI
 *
 * @link      http://php-di.org/
 * @copyright Matthieu Napoli (http://mnapoli.fr/)
 * @license   http://www.opensource.org/licenses/mit-license.php MIT (see the LICENSE file)
 */

namespace Cybot\Dependencies\DI\Definition\Helper;

use Cybot\Dependencies\DI\Definition\EnvironmentVariableDefinition;

/**
 * Helps defining how to create an instance of an environment variable definition.
 *
 * @author James Harris <james.harris@icecave.com.au>
 */
class EnvironmentVariableDefinitionHelper implements DefinitionHelper
{
    /**
     * The name of the environment variable
     * @var string
     */
    private $variableName;

    /**
     * Whether or not the environment variable definition is optional
     *
     * If true and the environment variable given by $variableName has not been
     * defined, $defaultValue is used.
     *
     * @var boolean
     */
    private $isOptional;

    /**
     * The default value to use if the environment variable is optional and not provided
     * @var mixed
     */
    private $defaultValue;

    /**
     * @param string  $variableName The name of the environment variable
     * @param boolean $isOptional   Whether or not the environment variable definition is optional
     * @param mixed   $defaultValue The default value to use if the environment variable is optional and not provided
     */
    public function __construct($variableName, $isOptional, $defaultValue = null)
    {
        $this->variableName = $variableName;
        $this->isOptional = $isOptional;
        $this->defaultValue = $defaultValue;
    }

    /**
     * @param string $entryName Container entry name
     *
     * @return EnvironmentVariableDefinition
     */
    public function getDefinition($entryName)
    {
        return new EnvironmentVariableDefinition($entryName, $this->variableName, $this->isOptional, $this->defaultValue);
    }
}

```
