summaryrefslogtreecommitdiff
path: root/vendor/symfony/http-kernel/Kernel.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/symfony/http-kernel/Kernel.php')
-rw-r--r--vendor/symfony/http-kernel/Kernel.php55
1 files changed, 47 insertions, 8 deletions
diff --git a/vendor/symfony/http-kernel/Kernel.php b/vendor/symfony/http-kernel/Kernel.php
index cf8c24fb0f..e0154b7d23 100644
--- a/vendor/symfony/http-kernel/Kernel.php
+++ b/vendor/symfony/http-kernel/Kernel.php
@@ -73,15 +73,15 @@ abstract class Kernel implements KernelInterface, RebootableInterface, Terminabl
private $requestStackSize = 0;
private $resetServices = false;
- const VERSION = '4.2.8';
- const VERSION_ID = 40208;
+ const VERSION = '4.3.0';
+ const VERSION_ID = 40300;
const MAJOR_VERSION = 4;
- const MINOR_VERSION = 2;
- const RELEASE_VERSION = 8;
+ const MINOR_VERSION = 3;
+ const RELEASE_VERSION = 0;
const EXTRA_VERSION = '';
- const END_OF_MAINTENANCE = '07/2019';
- const END_OF_LIFE = '01/2020';
+ const END_OF_MAINTENANCE = '01/2020';
+ const END_OF_LIFE = '07/2020';
public function __construct(string $environment, bool $debug)
{
@@ -442,14 +442,21 @@ abstract class Kernel implements KernelInterface, RebootableInterface, Terminabl
/**
* Gets the container class.
*
+ * @throws \InvalidArgumentException If the generated classname is invalid
+ *
* @return string The container class
*/
protected function getContainerClass()
{
$class = \get_class($this);
$class = 'c' === $class[0] && 0 === strpos($class, "class@anonymous\0") ? get_parent_class($class).str_replace('.', '_', ContainerBuilder::hash($class)) : $class;
+ $class = $this->name.str_replace('\\', '_', $class).ucfirst($this->environment).($this->debug ? 'Debug' : '').'Container';
+
+ if (!preg_match('/^[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*$/', $class)) {
+ throw new \InvalidArgumentException(sprintf('The environment "%s" contains invalid characters, it can only contain characters allowed in PHP class names.', $this->environment));
+ }
- return $this->name.str_replace('\\', '_', $class).ucfirst($this->environment).($this->debug ? 'Debug' : '').'Container';
+ return $class;
}
/**
@@ -826,22 +833,54 @@ abstract class Kernel implements KernelInterface, RebootableInterface, Terminabl
$output .= $rawChunk;
- // PHP 7 memory manager will not release after token_get_all(), see https://bugs.php.net/70098
unset($tokens, $rawChunk);
gc_mem_caches();
return $output;
}
+ /**
+ * @deprecated since Symfony 4.3
+ */
public function serialize()
{
+ @trigger_error(sprintf('The "%s" method is deprecated since Symfony 4.3.', __METHOD__), E_USER_DEPRECATED);
+
return serialize([$this->environment, $this->debug]);
}
+ /**
+ * @deprecated since Symfony 4.3
+ */
public function unserialize($data)
{
+ @trigger_error(sprintf('The "%s" method is deprecated since Symfony 4.3.', __METHOD__), E_USER_DEPRECATED);
list($environment, $debug) = unserialize($data, ['allowed_classes' => false]);
$this->__construct($environment, $debug);
}
+
+ public function __sleep()
+ {
+ if (__CLASS__ !== $c = (new \ReflectionMethod($this, 'serialize'))->getDeclaringClass()->name) {
+ @trigger_error(sprintf('Implementing the "%s::serialize()" method is deprecated since Symfony 4.3.', $c), E_USER_DEPRECATED);
+ $this->serialized = $this->serialize();
+
+ return ['serialized'];
+ }
+
+ return ['environment', 'debug'];
+ }
+
+ public function __wakeup()
+ {
+ if (__CLASS__ !== $c = (new \ReflectionMethod($this, 'serialize'))->getDeclaringClass()->name) {
+ @trigger_error(sprintf('Implementing the "%s::serialize()" method is deprecated since Symfony 4.3.', $c), E_USER_DEPRECATED);
+ $this->unserialize($this->serialized);
+ unset($this->serialized);
+
+ return;
+ }
+ $this->__construct($this->environment, $this->debug);
+ }
}