Mercurial > hg > isophonics-drupal-site
diff vendor/sebastian/global-state/src/CodeExporter.php @ 14:1fec387a4317
Update Drupal core to 8.5.2 via Composer
author | Chris Cannam |
---|---|
date | Mon, 23 Apr 2018 09:46:53 +0100 |
parents | 4c8ae668cc8c |
children |
line wrap: on
line diff
--- a/vendor/sebastian/global-state/src/CodeExporter.php Mon Apr 23 09:33:26 2018 +0100 +++ b/vendor/sebastian/global-state/src/CodeExporter.php Mon Apr 23 09:46:53 2018 +0100 @@ -1,6 +1,6 @@ <?php /* - * This file is part of the GlobalState package. + * This file is part of sebastian/global-state. * * (c) Sebastian Bergmann <sebastian@phpunit.de> * @@ -8,6 +8,8 @@ * file that was distributed with this source code. */ +declare(strict_types=1); + namespace SebastianBergmann\GlobalState; /** @@ -15,16 +17,12 @@ */ class CodeExporter { - /** - * @param Snapshot $snapshot - * @return string - */ - public function constants(Snapshot $snapshot) + public function constants(Snapshot $snapshot): string { $result = ''; foreach ($snapshot->constants() as $name => $value) { - $result .= sprintf( + $result .= \sprintf( 'if (!defined(\'%s\')) define(\'%s\', %s);' . "\n", $name, $name, @@ -35,16 +33,27 @@ return $result; } - /** - * @param Snapshot $snapshot - * @return string - */ - public function iniSettings(Snapshot $snapshot) + public function globalVariables(Snapshot $snapshot): string + { + $result = '$GLOBALS = [];' . PHP_EOL; + + foreach ($snapshot->globalVariables() as $name => $value) { + $result .= \sprintf( + '$GLOBALS[%s] = %s;' . PHP_EOL, + $this->exportVariable($name), + $this->exportVariable($value) + ); + } + + return $result; + } + + public function iniSettings(Snapshot $snapshot): string { $result = ''; foreach ($snapshot->iniSettings() as $key => $value) { - $result .= sprintf( + $result .= \sprintf( '@ini_set(%s, %s);' . "\n", $this->exportVariable($key), $this->exportVariable($value) @@ -54,32 +63,24 @@ return $result; } - /** - * @param mixed $variable - * @return string - */ - private function exportVariable($variable) + private function exportVariable($variable): string { - if (is_scalar($variable) || is_null($variable) || - (is_array($variable) && $this->arrayOnlyContainsScalars($variable))) { - return var_export($variable, true); + if (\is_scalar($variable) || \is_null($variable) || + (\is_array($variable) && $this->arrayOnlyContainsScalars($variable))) { + return \var_export($variable, true); } - return 'unserialize(' . var_export(serialize($variable), true) . ')'; + return 'unserialize(' . \var_export(\serialize($variable), true) . ')'; } - /** - * @param array $array - * @return bool - */ - private function arrayOnlyContainsScalars(array $array) + private function arrayOnlyContainsScalars(array $array): bool { $result = true; foreach ($array as $element) { - if (is_array($element)) { + if (\is_array($element)) { $result = self::arrayOnlyContainsScalars($element); - } elseif (!is_scalar($element) && !is_null($element)) { + } elseif (!\is_scalar($element) && !\is_null($element)) { $result = false; }