From 7fde23cc8a8cf97d545baf0ad7f8cd47c73feb17 Mon Sep 17 00:00:00 2001 From: David Grudl Date: Thu, 5 May 2022 18:15:15 +0200 Subject: [PATCH] PhpExtension: simplification, uses only ini_set --- src/Bootstrap/Extensions/PhpExtension.php | 22 ++++------------------ tests/Bootstrap/Configurator.basic.phpt | 2 +- 2 files changed, 5 insertions(+), 19 deletions(-) diff --git a/src/Bootstrap/Extensions/PhpExtension.php b/src/Bootstrap/Extensions/PhpExtension.php index bb4844e..b6a63e1 100644 --- a/src/Bootstrap/Extensions/PhpExtension.php +++ b/src/Bootstrap/Extensions/PhpExtension.php @@ -27,26 +27,12 @@ public function getConfigSchema(): Nette\Schema\Schema public function loadConfiguration() { foreach ($this->getConfig() as $name => $value) { - if ($value === null) { - continue; - - } elseif ($name === 'include_path') { - $this->initialization->addBody('set_include_path(?);', [str_replace(';', PATH_SEPARATOR, $value)]); - - } elseif ($name === 'ignore_user_abort') { - $this->initialization->addBody('ignore_user_abort(?);', [$value]); - - } elseif ($name === 'max_execution_time') { - $this->initialization->addBody('set_time_limit(?);', [$value]); - - } elseif ($name === 'date.timezone') { - $this->initialization->addBody('date_default_timezone_set(?);', [$value]); + if (!function_exists('ini_set')) { + throw new Nette\NotSupportedException('Required function ini_set() is disabled.'); + } - } elseif (function_exists('ini_set')) { + if ($value !== null) { $this->initialization->addBody('ini_set(?, (string) (?));', [$name, $value]); - - } elseif (ini_get($name) !== (string) $value) { - throw new Nette\NotSupportedException('Required function ini_set() is disabled.'); } } } diff --git a/tests/Bootstrap/Configurator.basic.phpt b/tests/Bootstrap/Configurator.basic.phpt index d32d434..b569fde 100644 --- a/tests/Bootstrap/Configurator.basic.phpt +++ b/tests/Bootstrap/Configurator.basic.phpt @@ -31,7 +31,7 @@ Assert::same('%foo%', $container->parameters['foo2']); Assert::same('%foo%', $container->parameters['foo3']); Assert::same('hello', $container->parameters['bar']); Assert::same('hello world', constant('BAR')); -Assert::same('Europe/Prague', date_default_timezone_get()); +Assert::same('Europe/Prague', ini_get('date.timezone')); Assert::same([ 'dsn' => 'sqlite2::memory:',