New php library structure made easier
This commit is contained in:
parent
900ca18539
commit
8eda6b5b5e
@ -72,13 +72,12 @@ abstract class Bundle extends ContainerAware implements BundleInterface
|
||||
public function getContainerExtension()
|
||||
{
|
||||
if (null === $this->extension) {
|
||||
$basename = preg_replace('/Bundle$/', '', $this->getName());
|
||||
|
||||
$class = $this->getNamespace().'\\DependencyInjection\\'.$basename.'Extension';
|
||||
$class = $this->getContainerExtensionClass();
|
||||
if (class_exists($class)) {
|
||||
$extension = new $class();
|
||||
|
||||
// check naming convention
|
||||
$basename = preg_replace('/Bundle$/', '', $this->getName());
|
||||
$expectedAlias = Container::underscore($basename);
|
||||
if ($expectedAlias != $extension->getAlias()) {
|
||||
throw new \LogicException(sprintf(
|
||||
@ -197,4 +196,16 @@ abstract class Bundle extends ContainerAware implements BundleInterface
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the bundle's container extension class.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
protected function getContainerExtensionClass()
|
||||
{
|
||||
$basename = preg_replace('/Bundle$/', '', $this->getName());
|
||||
|
||||
return $this->getNamespace().'\\DependencyInjection\\'.$basename.'Extension';
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user