public function getContainerExtension(): ?ExtensionInterface
    {
        if (null === $this->extension) {
            $extension = $this->createContainerExtension();

            if (null !== $extension) {
                if (!$extension instanceof ExtensionInterface) {
                    throw new \LogicException(sprintf('Extension %s must implement Symfony\Component\DependencyInjection\Extension\ExtensionInterface.',
                        \get_class($extension)));
                }

                // check naming convention
                $basename      = str_replace(['Component', 'Module', 'Plugin'], ['', '', ''], $this->getIdentifier());
                $expectedAlias = Container::underscore($basename);

                if ($expectedAlias != $extension->getAlias()) {
                    throw new \LogicException(sprintf('Users will expect the alias of the default extension of a bundle to be the underscored version of the bundle name ("%s"). You can override "Bundle::getContainerExtension()" if you want to use "%s" or another alias.',
                        $expectedAlias, $extension->getAlias()));
                }

                $this->extension = $extension;
            }
        }

        return $this->extension;
    }
public function getContainerExtension(): ?ExtensionInterface
    {
        if (null === $this->extension) {
            $extension = $this->createContainerExtension();

            if (null !== $extension) {
                if (!$extension instanceof ExtensionInterface) {
                    throw new \LogicException(sprintf('Extension %s must implement Symfony\Component\DependencyInjection\Extension\ExtensionInterface.',
                        \get_class($extension)));
                }

                // check naming convention
                $basename      = str_replace(['Component', 'Module', 'Plugin'], ['', '', ''], $this->getIdentifier());
                $expectedAlias = Container::underscore($basename);

                if ($expectedAlias != $extension->getAlias()) {
                    throw new \LogicException(sprintf('Users will expect the alias of the default extension of a bundle to be the underscored version of the bundle name ("%s"). You can override "Bundle::getContainerExtension()" if you want to use "%s" or another alias.',
                        $expectedAlias, $extension->getAlias()));
                }

                $this->extension = $extension;
            }
        }

        return $this->extension;
    }
public function getContainerExtension ( ) : ? ExtensionInterface { if ( null === $ this -> extension ) { $ extension = $ this -> createContainerExtension ( ) ; if ( null !== $ extension ) { if ( ! $ extension instanceof ExtensionInterface ) { throw new \ LogicException ( sprintf ( 'Extension %s must implement Symfony\Component\DependencyInjection\Extension\ExtensionInterface.' , \ get_class ( $ extension ) ) ) ; } // check naming convention $ basename = str_replace ( [ 'Component' , 'Module' , 'Plugin' ] , [ '' , '' , '' ] , $ this -> getIdentifier ( ) ) ; $ expectedAlias = Container :: underscore ( $ basename ) ; if ( $ expectedAlias != $ extension -> getAlias ( ) ) { throw new \ LogicException ( sprintf ( 'Users will expect the alias of the default extension of a bundle to be the underscored version of the bundle name ("%s"). You can override "Bundle::getContainerExtension()" if you want to use "%s" or another alias.' , $ expectedAlias , $ extension -> getAlias ( ) ) ) ; } $ this -> extension = $ extension ; } } return $ this -> extension ; }
Returns the container extension that should be implicitly loaded.

@return ExtensionInterface|null The default extension or null if there is none
Returns the container extension that should be implicitly loaded .