Explorar o código

[DependencyInjection] made a small speed optimization

Fabien Potencier %!s(int64=14) %!d(string=hai) anos
pai
achega
3e71c2c76e

+ 11 - 10
src/Symfony/Component/DependencyInjection/ParameterBag/FrozenParameterBag.php

@@ -20,24 +20,28 @@ class FrozenParameterBag extends ParameterBag
     /**
      * Constructor.
      *
+     * For performance reasons, the constructor assumes that
+     * all keys are already lowercased.
+     *
+     * This is always the case when used internally.
+     *
      * @param array $parameters An array of parameters
      */
     public function __construct(array $parameters = array())
     {
-        foreach ($parameters as $key => $value) {
-            $this->parameters[strtolower($key)] = $value;
-        }
+        $this->parameters = $parameters;
     }
 
+    /**
+     * {@inheritdoc}
+     */
     public function clear()
     {
         throw new \LogicException('Impossible to call clear() on a frozen ParameterBag.');
     }
 
     /**
-     * Adds parameters to the service container parameters.
-     *
-     * @param array $parameters An array of parameters
+     * {@inheritdoc}
      */
     public function add(array $parameters)
     {
@@ -45,10 +49,7 @@ class FrozenParameterBag extends ParameterBag
     }
 
     /**
-     * Sets a service container parameter.
-     *
-     * @param string $name       The parameter name
-     * @param mixed  $parameters The parameter value
+     * {@inheritdoc}
      */
     public function set($name, $value)
     {

+ 1 - 3
src/Symfony/Component/HttpKernel/bootstrap.php

@@ -426,9 +426,7 @@ class FrozenParameterBag extends ParameterBag
 {
     public function __construct(array $parameters = array())
     {
-        foreach ($parameters as $key => $value) {
-            $this->parameters[strtolower($key)] = $value;
-        }
+        $this->parameters = $parameters;
     }
     public function clear()
     {