bug #29922 Avoid dots in generated class names (derrabus)

This PR was merged into the 4.2 branch.

Discussion
----------

Avoid dots in generated class names

| Q             | A
| ------------- | ---
| Branch?       | 4.2
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #29921
| License       | MIT
| Doc PR        | N/A

This PR removes dots from class names containers generated out of anonymous kernel classes.

Commits
-------

52c80e6cf2 Avoid dots in generated class names.
This commit is contained in:
Fabien Potencier 2019-01-20 08:24:41 +01:00
commit 5564d73854

View File

@ -447,7 +447,7 @@ abstract class Kernel implements KernelInterface, RebootableInterface, Terminabl
protected function getContainerClass()
{
$class = \get_class($this);
$class = 'c' === $class[0] && 0 === strpos($class, "class@anonymous\0") ? get_parent_class($class).ContainerBuilder::hash($class) : $class;
$class = 'c' === $class[0] && 0 === strpos($class, "class@anonymous\0") ? get_parent_class($class).str_replace('.', '_', ContainerBuilder::hash($class)) : $class;
return $this->name.str_replace('\\', '_', $class).ucfirst($this->environment).($this->debug ? 'Debug' : '').'Container';
}