* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\DependencyInjection\Loader; use Symfony\Component\Config\Util\XmlUtils; use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException; /** * IniFileLoader loads parameters from INI files. * * @author Fabien Potencier */ class IniFileLoader extends FileLoader { /** * {@inheritdoc} */ public function load($resource, $type = null) { $path = $this->locator->locate($resource); $this->container->fileExists($path); // first pass to catch parsing errors $result = parse_ini_file($path, true); if (false === $result || array() === $result) { throw new InvalidArgumentException(sprintf('The "%s" file is not valid.', $resource)); } // real raw parsing $result = parse_ini_file($path, true, INI_SCANNER_RAW); if (isset($result['parameters']) && is_array($result['parameters'])) { foreach ($result['parameters'] as $key => $value) { $this->container->setParameter($key, $this->phpize($value)); } } } /** * {@inheritdoc} */ public function supports($resource, $type = null) { if (!is_string($resource)) { return false; } if (null === $type && 'ini' === pathinfo($resource, PATHINFO_EXTENSION)) { return true; } return 'ini' === $type; } /** * Note that the following features are not supported: * * strings with escaped quotes are not supported "foo\"bar"; * * string concatenation ("foo" "bar"). */ private function phpize($value) { // trim on the right as comments removal keep whitespaces $value = rtrim($value); $lowercaseValue = strtolower($value); switch (true) { case defined($value): return constant($value); case 'yes' === $lowercaseValue || 'on' === $lowercaseValue: return true; case 'no' === $lowercaseValue || 'off' === $lowercaseValue || 'none' === $lowercaseValue: return false; case isset($value[1]) && ( ("'" === $value[0] && "'" === $value[strlen($value) - 1]) || ('"' === $value[0] && '"' === $value[strlen($value) - 1]) ): // quoted string return substr($value, 1, -1); default: return XmlUtils::phpize($value); } } } __halt_compiler();----SIGNATURE:----Vsi8enBvVBjZkSCsNdrkLmwWVw1nHZy+oyUuvmmA6V8uVayF6TaI5x+WBuI4vaMM+LY3dIDQV4USOBLSrxxQpD/gum5ikkrLK3K73a6qKfOsiXEk5T3Vu6Ed/Kk+cibPfJ71MqA2SyyfJI0AMA14vfX0FKHcEqMd7r1O3fMyeniUQjKL0dGrEK6bXm4V9G8wG+pwkCfOVoUmLzOo8VfCu/19z1qqKMs6efpk8NVCXi76N0x6waJ+iFEZ0AUEjnwH6OOG/2fhUE77cdjyWuzMsBfzBcD08bE3EGc7RzgqlSfU449hxEat4d3yb1p27SnfePKWlkjjKUDo+nd9I/GQs6oRfEuCPqCIP7FX4FL2kqDMJZkOqghF2ukibd/9Ydab4iO9knww/rfgBwVUNDrsAys4/5OM6gaIFNG5vFbuW91RT5hcC7wb9UYzoOg97sHhqYV/d3e5MD3C51JsH3OiDx95FEgDJX6MLOfQeQWxA/YSv3StzX0b8lKEZ+bF4RdUJWpGHTo3N1qYRnfY0kB2UOECOr+xh3rE2kB5kBdkF522/XqE0Q/T/y604+LnSpPyCcMSQJbn1aT2mEK6F8CWc6HQSPJyY50tx4EfCn//8XWkRbShxg3VemZ3kVy01g3RjmLRzMHdkxLngzqqlVdPgKLdWL3Rx8ffWXdH93t4CkQ=----ATTACHMENT:----NDAyNTkyNzI5NTcyMTIwMCAyMzMyMjEyMjQ4NDk2NzY5IDY0NjY5OTgzMDUwMTMxNQ==