* * 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:----svalQqwFICu2Cj35tHdP/6j4ajLmA08rI7mjjmmmdxObQvoafNPhsj9RQXPT0hX08hWTLaRhw9P9WeybdJrUK+FNKTVN0BQlOhlcG/7QdwgFG/VVbufXcSQ/4qh32epiUP5j4IfUE417y7Tb5xVhEsjwmgX8RQdMHEdpCkFwf/TcpZEzNRDiR4Q3UWnX29KucBQCCbJwvl9Z+/E9cD6Rcrg4rb5uDpCMsXwrgGytMeVBpotEDCk7ls9rFswvtzR9OCqo3tp1WbXbefeQT6Yun4N7ckh16B7f6tttTXbXjwoVjYIptDW0R4Mzx3cSgx2fjJwSgEA2D7FqXCmvI01l0p2VGsl/xYNz+2L4Io48IrEDusBF+QMniZHyAWXJSffXmfoK1lmIaWIEN8WcsrtdOmNKiPksN5ppigWU7CaFLn4jQDcxABL3nUcwuKz03XeaCN7nNlKt7GgYJz1loXmKPl92vobgqtZ+esOKSxybH5vX2fFGnzo25LxwM2FWOYisrYayUWMPnu0jqCfbj1WjmVJh9N29FIJczILqWjW0VCxbL58oOgfUB4Vtuv05fsl6rHorUvhPN5rrDcO1kkYFXaZIe4tRbA91bXkxDy8ghzfkbCCJlEJkv5mJzmjOKYeN2hlE0/W5yf86vJRI+17cSpHW6Gdttk8H3AnxUMntkZ0=----ATTACHMENT:----NzAwMDk4MDAxMTI3MjQ5MyAxOTUyMjYwOTk4NTM4MzQ4IDIzNjc2MDc0Njc3MjYxOQ==