當前位置: 首頁>>代碼示例>>PHP>>正文


PHP Container::freeze方法代碼示例

本文整理匯總了PHP中Symfony\Component\DependencyInjection\Container::freeze方法的典型用法代碼示例。如果您正苦於以下問題:PHP Container::freeze方法的具體用法?PHP Container::freeze怎麽用?PHP Container::freeze使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Symfony\Component\DependencyInjection\Container的用法示例。


在下文中一共展示了Container::freeze方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: testIsFrozen

 /**
  * @covers Symfony\Component\DependencyInjection\Container::isFrozen
  */
 public function testIsFrozen()
 {
     $sc = new Container(new ParameterBag(array('foo' => 'bar')));
     $this->assertFalse($sc->isFrozen(), '->isFrozen() returns false if the parameters are not frozen');
     $sc->freeze();
     $this->assertTrue($sc->isFrozen(), '->isFrozen() returns true if the parameters are frozen');
 }
開發者ID:netixpro,項目名稱:symfony,代碼行數:10,代碼來源:ContainerTest.php

示例2: freeze

 /**
  * Freezes the container.
  *
  * This method does four things:
  *
  *  * The extension configurations are merged;
  *  * Parameter values are resolved;
  *  * The parameter bag is freezed;
  *  * Extension loading is disabled.
  */
 public function freeze()
 {
     $parameters = $this->parameterBag->all();
     $definitions = $this->definitions;
     $aliases = $this->aliases;
     foreach ($this->extensionContainers as $container) {
         $this->merge($container);
     }
     $this->extensionContainers = array();
     $this->addDefinitions($definitions);
     $this->addAliases($aliases);
     $this->parameterBag->add($parameters);
     parent::freeze();
 }
開發者ID:roydonstharayil,項目名稱:sugarbox,代碼行數:24,代碼來源:ContainerBuilder.php

示例3: freeze

 /**
  * Freezes the container.
  *
  * This method does four things:
  *
  *  * The extension configurations are merged;
  *  * Parameter values are resolved;
  *  * The parameter bag is freezed;
  *  * Extension loading is disabled.
  */
 public function freeze()
 {
     foreach ($this->compilerPasses as $pass) {
         $pass->process($this);
     }
     parent::freeze();
 }
開發者ID:spf13,項目名稱:symfony,代碼行數:17,代碼來源:ContainerBuilder.php

示例4: freeze

 /**
  * Freezes the container.
  *
  * This method does four things:
  *
  *  * The extension configurations are merged;
  *  * Parameter values are resolved;
  *  * The parameter bag is freezed;
  *  * Extension loading is disabled.
  */
 public function freeze()
 {
     $parameters = $this->parameterBag->all();
     $definitions = $this->definitions;
     $aliases = $this->aliases;
     foreach ($this->extensionConfigs as $name => $configs) {
         list($namespace, $tag) = explode(':', $name);
         $extension = $this->getExtension($namespace);
         $container = new self($this->parameterBag);
         $container->addObjectResource($extension);
         foreach ($configs as $config) {
             $extension->load($tag, $config, $container);
         }
         $this->merge($container);
     }
     $this->extensionConfigs = array();
     $this->addDefinitions($definitions);
     $this->addAliases($aliases);
     $this->parameterBag->add($parameters);
     parent::freeze();
 }
開發者ID:skoop,項目名稱:symfony-sandbox,代碼行數:31,代碼來源:ContainerBuilder.php

示例5: freeze

    /**
     * Freezes the container.
     *
     * This method does four things:
     *
     *  * The extension configurations are merged;
     *  * Parameter values are resolved;
     *  * The parameter bag is freezed;
     *  * Extension loading is disabled.
     */
    public function freeze()
    {
        $parameters = $this->parameterBag->all();
        $definitions = $this->definitions;
        $aliases = $this->aliases;

        foreach ($this->extensionConfigs as $name => $configs) {
            list($namespace, $tag) = explode(':', $name);

            $extension = $this->getExtension($namespace);

            $container = new self($this->parameterBag);
            $container->addObjectResource($extension);
            foreach ($configs as $config) {
                $extension->load($tag, $config, $container);
            }

            $this->merge($container);
        }

        $this->extensionConfigs = array();
        $this->addDefinitions($definitions);
        $this->addAliases($aliases);
        $this->parameterBag->add($parameters);

        foreach ($this->definitions as $definition) {
            foreach ($this->injectors as $injector) {
                if (null !== $definition->getFactoryService()) {
                    continue;
                }
                $defClass = $this->parameterBag->resolveValue($definition->getClass());
                $definition->setClass($defClass);
                if ($injector->supports($defClass)) {
                    $injector->processDefinition($definition);
                }
            }
        }

        parent::freeze();
    }
開發者ID:pmjones,項目名稱:php-framework-benchmarks,代碼行數:50,代碼來源:ContainerBuilder.php


注:本文中的Symfony\Component\DependencyInjection\Container::freeze方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。