Nelmio\Alice\Definition\Value\OptionalValue::__construct PHP Method

__construct() public method

public __construct ( integer | Nelmio\Alice\Definition\ValueInterface $quantifier, string | Nelmio\Alice\Definition\ValueInterface $firstMember, string | Nelmio\Alice\Definition\ValueInterface | null $secondMember = null )
$quantifier integer | Nelmio\Alice\Definition\ValueInterface
$firstMember string | Nelmio\Alice\Definition\ValueInterface
$secondMember string | Nelmio\Alice\Definition\ValueInterface | null
    public function __construct($quantifier, $firstMember, $secondMember = null)
    {
        if ($quantifier instanceof ValueInterface) {
            $quantifier = clone $quantifier;
        } elseif (is_scalar($quantifier)) {
            $quantifier = (int) $quantifier;
        } else {
            throw TypeErrorFactory::createForOptionalValueQuantifier($quantifier);
        }
        if (false === is_string($firstMember) && false === $firstMember instanceof ValueInterface) {
            throw TypeErrorFactory::createForOptionalValueFirstMember($firstMember);
        }
        if (null !== $secondMember && false === is_string($secondMember) && false === $secondMember instanceof ValueInterface) {
            throw TypeErrorFactory::createForOptionalValueSecondMember($secondMember);
        }
        $this->quantifier = $quantifier;
        $this->firstMember = $firstMember;
        $this->secondMember = $secondMember;
    }