Blast\Orm\Entity\Definition::mergeConfiguration PHP Method

mergeConfiguration() private method

Merge partial configuration into definition configuration. Normalize partial configuration keys before add them to configuration. Add custom configuration after adding known configuration.
private mergeConfiguration ( array $configuration )
$configuration array
    private function mergeConfiguration(array $configuration)
    {
        $originalConfiguration = $configuration;
        // normalize keys to lower case
        foreach ($configuration as $key => $value) {
            $configuration[strtolower($key)] = $value;
        }
        // add definition configuration by it's real key
        $configKeys = array_keys($this->configuration);
        foreach ($configKeys as $key) {
            $normalizedKey = strtolower($key);
            if (isset($configuration[$normalizedKey])) {
                $this->configuration[$key] = $configuration[$normalizedKey];
                unset($configuration[$normalizedKey]);
            }
        }
        // add custom configuration by it's original key
        foreach ($originalConfiguration as $key => $value) {
            $normalizedKey = strtolower($key);
            if (isset($configuration[$normalizedKey])) {
                $this->configuration[$key] = $originalConfiguration[$key];
            }
        }
        $this->processFields();
        return $this;
    }