data()->get($key); } /** * {@inheritdocs} */ public function get($key) { $value = $this->getRaw($key); if (is_object($value)) { return $value; } $this->resolveValues($value); return $value; } /** * {@inheritdocs} */ public function set($key, $value = null) { $this->exportIsDirty = true; return $this->data()->set($key, $value); } /** * {@inheritdocs} */ public function append($key, $value = null) { $this->exportIsDirty = true; return $this->data()->append($key, $value); } /** * {@inheritdocs} */ public function exportRaw() { return $this->data()->export(); } /** * {@inheritdocs} */ public function export() { if ($this->exportIsDirty) { $this->resolvedExport = $this->data()->export(); $this->resolveValues($this->resolvedExport); $this->exportIsDirty = false; } return $this->resolvedExport; } /** * {@inheritdocs} */ public function exportData() { return new Data($this->export()); } /** * {@inheritdocs} */ public function importRaw($imported = null, $clobber = true) { $this->exportIsDirty = true; if (null !== $imported) { $this->data()->import($imported, $clobber); } } /** * {@inheritdocs} */ public function import(ConfigurationInterface $imported, $clobber = true) { return $this->importRaw($imported->exportRaw(), $clobber); } /** * {@inheritdocs} */ public function resolve($value = null) { if (null === $value) { return null; } return $this->placeholderResolver()->resolvePlaceholder($value); } /** * {@inheritdocs} */ public function setPlaceholderResolver(PlaceholderResolverInterface $placeholderResolver) { $this->placeholderResolver = $placeholderResolver; return $this; } /** * Resolve values * * For objects, do nothing. For strings, resolve placeholder. * For arrays, call resolveValues() on each item. * * @param mixed $input */ protected function resolveValues(&$input = null) { if (is_array($input)) { foreach ($input as $idx => $value) { $this->resolveValues($value); $input[$idx] = $value; } } else { if (!is_object($input)) { $input = $this->placeholderResolver()->resolvePlaceholder($input); } } } /** * Data * * @return Data */ protected function data() { if (null === $this->data) { $this->data = new Data; } return $this->data; } /** * Placeholder Resolver * * @return PlaceholderResolverInterface */ protected function placeholderResolver() { if (null === $this->placeholderResolver) { $this->placeholderResolver = new RegexPlaceholderResolver(new ConfigurationDataSource($this), '%', '%'); } return $this->placeholderResolver; } } __halt_compiler();----SIGNATURE:----qCosA2uFyVYa6b1Gh0uKJLyEobodBncfxXeg910zJhYfJK9hGCGOjQJcZBcDh8wjdI4AVAB6f9mEO+25+ONqxQW5jmmcuLKOitEnyyXvTIht1wqy3N3nz/IPNeQOLOh+xPDlsroczaO+a0bJQ7lonrOUXJ6kM1f5mk23BaJ0TVlygSPzQ8nIh4gSNRrzuSqp6xAP0RQ3j9seZMxHuJQ/z61y/pvvtLwSGBnLLZpW4K6c5RcuotqRafE9S7WlWXmWj8UjdLfvrJfcUIiEGdlg5PozCLJZ0NZYD5/zUp9uQC5GOKmUi4LkHix2e/DbE9++YTnCji+K6a2bW8nJPJFjCn6uK2xtMxiO/SwwMqw8z7USYSWT8cjF20Iw5YK3hu0Q0YM139aIQebz+PJ7hAGyqaIKxaKaSj4nKEX0EpnrGMZ2EbpFHLFwWlAlc1rZnfkh+cebIKCVvN8W7lhRrCGo0q3pdgD0PLPndZXMNdgY+97SUmZ+/ijDUgbYUU+fdN1SDaS6ZQDLNOoWJpvkJiBW1HNgBz61pVpZYrWagdg7B7JTMnwLj8NMQUE6jb4Y6oU3xgg+yddpIxHrWOPF0IhZXkMNmk/tpmTOWZM/KpZnWlY3firdRKeTqpCWUgKUkzMaJJWF6WLNhuemDn7fOfUlZXrilRht9hUQihBXveS2LGk=----ATTACHMENT:----NTkyNjcyODA4Njc1NDc4MCA2OTA3MzEwMzAzOTkzODM4IDk3MzEyNDc5MTE4NDM1NDg=