Fakerino\FakeData\AbstractFakeData::__construct PHP Method

__construct() final public method

Constructor
final public __construct ( null | array $options = null )
$options null | array
    public final function __construct($options = null)
    {
        if (is_array($this->getDefaultOptions())) {
            $defaultOptions = $templateOptions = array_merge(array('generatedBy' => null), $this->getDefaultOptions());
        } else {
            $defaultOptions = $templateOptions = array('generatedBy' => null);
        }
        $requiredOptions = $this->getRequiredOptions();
        if ($requiredOptions !== null) {
            if ($options === null) {
                throw new MissingRequiredOptionException($requiredOptions[0]);
            }
            $missingRequiredOpt = array_diff($requiredOptions, array_keys($options));
            if (!empty($missingRequiredOpt)) {
                $missingKeys = array_values($missingRequiredOpt);
                throw new MissingRequiredOptionException($missingKeys[0]);
            }
            $templateOptions = array_merge(array_flip($requiredOptions), $defaultOptions);
        }
        if (is_array($options)) {
            $completeOptions = array_merge($defaultOptions, $options);
        } else {
            $completeOptions = $defaultOptions;
        }
        $offset = array_diff_key($completeOptions, $templateOptions);
        if (!empty($offset)) {
            $invalidKeys = array_keys($offset);
            throw new InvalidOptionException($invalidKeys[0]);
        }
        $this->options = $completeOptions;
    }