Various coding standards fixes and other minor changes in response to Crell's latest patch review

8.0.x
Katherine Bailey 2012-07-11 16:47:37 -07:00
parent f954878ccc
commit e665805cce
4 changed files with 22 additions and 29 deletions

View File

@ -9,10 +9,14 @@ use Symfony\Component\DependencyInjection\Reference;
use Symfony\Component\HttpKernel\Bundle\Bundle; use Symfony\Component\HttpKernel\Bundle\Bundle;
use Symfony\Component\DependencyInjection\Compiler\PassConfig; use Symfony\Component\DependencyInjection\Compiler\PassConfig;
class DrupalBundle extends Bundle /**
* This is where Drupal core registers all of its services to the Dependency
* Injection Container. Modules wishing to register services to the container
* should extend Symfony's Bundle class directly, not this class.
*/
class CoreBundle extends Bundle
{ {
public function build(ContainerBuilder $container) public function build(ContainerBuilder $container) {
{
$container->register('dispatcher', 'Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher') $container->register('dispatcher', 'Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher')
->addArgument(new Reference('service_container')); ->addArgument(new Reference('service_container'));
$container->register('resolver', 'Symfony\Component\HttpKernel\Controller\ControllerResolver'); $container->register('resolver', 'Symfony\Component\HttpKernel\Controller\ControllerResolver');
@ -57,6 +61,5 @@ class DrupalBundle extends Bundle
// Add a compiler pass for registering event subscribers. // Add a compiler pass for registering event subscribers.
$container->addCompilerPass(new RegisterKernelListenersPass(), PassConfig::TYPE_AFTER_REMOVING); $container->addCompilerPass(new RegisterKernelListenersPass(), PassConfig::TYPE_AFTER_REMOVING);
} }
} }

View File

@ -7,6 +7,7 @@
namespace Drupal\Core\DependencyInjection\Compiler; namespace Drupal\Core\DependencyInjection\Compiler;
use ReflectionClass;
use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
@ -25,7 +26,7 @@ class RegisterKernelListenersPass implements CompilerPassInterface
// We must assume that the class value has been correcly filled, even if the service is created by a factory // We must assume that the class value has been correcly filled, even if the service is created by a factory
$class = $container->getDefinition($id)->getClass(); $class = $container->getDefinition($id)->getClass();
$refClass = new \ReflectionClass($class); $refClass = new ReflectionClass($class);
$interface = 'Symfony\Component\EventDispatcher\EventSubscriberInterface'; $interface = 'Symfony\Component\EventDispatcher\EventSubscriberInterface';
if (!$refClass->implementsInterface($interface)) { if (!$refClass->implementsInterface($interface)) {
throw new \InvalidArgumentException(sprintf('Service "%s" must implement interface "%s".', $id, $interface)); throw new \InvalidArgumentException(sprintf('Service "%s" must implement interface "%s".', $id, $interface));

View File

@ -18,21 +18,16 @@ use Symfony\Component\DependencyInjection\ParameterBag\FrozenParameterBag;
*/ */
class ContainerBuilder extends BaseContainerBuilder { class ContainerBuilder extends BaseContainerBuilder {
public function addCompilerPass(CompilerPassInterface $pass, $type = PassConfig::TYPE_BEFORE_OPTIMIZATION) public function __construct() {
{ parent::__construct();
if (!isset($this->compiler) || null === $this->compiler) { $this->compiler = new Compiler();
$this->compiler = new Compiler(); }
}
public function addCompilerPass(CompilerPassInterface $pass, $type = PassConfig::TYPE_BEFORE_OPTIMIZATION) {
$this->compiler->addPass($pass, $type); $this->compiler->addPass($pass, $type);
} }
public function compile() public function compile() {
{
if (null === $this->compiler) {
$this->compiler = new Compiler();
}
$this->compiler->compile($this); $this->compiler->compile($this);
$this->parameterBag->resolve(); $this->parameterBag->resolve();
// TODO: The line below is commented out because there is code that calls // TODO: The line below is commented out because there is code that calls

View File

@ -7,7 +7,7 @@
namespace Drupal\Core; namespace Drupal\Core;
use Drupal\Core\DrupalBundle; use Drupal\Core\CoreBundle;
use Symfony\Component\HttpKernel\Kernel; use Symfony\Component\HttpKernel\Kernel;
use Drupal\Core\DependencyInjection\ContainerBuilder; use Drupal\Core\DependencyInjection\ContainerBuilder;
use Symfony\Component\Config\Loader\LoaderInterface; use Symfony\Component\Config\Loader\LoaderInterface;
@ -18,10 +18,9 @@ use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag;
*/ */
class DrupalKernel extends Kernel { class DrupalKernel extends Kernel {
public function registerBundles() public function registerBundles() {
{
$bundles = array( $bundles = array(
new DrupalBundle(), new CoreBundle(),
); );
// Rather than bootstrapping to a higher phase prior to booting the Kernel, which // Rather than bootstrapping to a higher phase prior to booting the Kernel, which
@ -47,8 +46,7 @@ class DrupalKernel extends Kernel {
/** /**
* Initializes the service container. * Initializes the service container.
*/ */
protected function initializeContainer() protected function initializeContainer() {
{
$this->container = $this->buildContainer(); $this->container = $this->buildContainer();
$this->container->set('kernel', $this); $this->container->set('kernel', $this);
drupal_container($this->container); drupal_container($this->container);
@ -59,8 +57,7 @@ class DrupalKernel extends Kernel {
* *
* @return ContainerBuilder The compiled service container * @return ContainerBuilder The compiled service container
*/ */
protected function buildContainer() protected function buildContainer() {
{
$container = $this->getContainerBuilder(); $container = $this->getContainerBuilder();
if ($bootstrap_container = drupal_container()) { if ($bootstrap_container = drupal_container()) {
@ -73,19 +70,16 @@ class DrupalKernel extends Kernel {
return $container; return $container;
} }
/** /**
* Gets a new ContainerBuilder instance used to build the service container. * Gets a new ContainerBuilder instance used to build the service container.
* *
* @return ContainerBuilder * @return ContainerBuilder
*/ */
protected function getContainerBuilder() protected function getContainerBuilder() {
{
return new ContainerBuilder(new ParameterBag($this->getKernelParameters())); return new ContainerBuilder(new ParameterBag($this->getKernelParameters()));
} }
public function registerContainerConfiguration(LoaderInterface $loader) public function registerContainerConfiguration(LoaderInterface $loader) {
{
// We have to define this method because it's not defined in the base class // We have to define this method because it's not defined in the base class
// but is part of the KernelInterface interface. However, the LoaderInterface // but is part of the KernelInterface interface. However, the LoaderInterface
// class is part of the config component, which we are not using, so this // class is part of the config component, which we are not using, so this