Coduo\TuTu\ServiceContainer::setStaticDefinition PHP Метод

setStaticDefinition() публичный Метод

Works just like setDefinition but getService($id) is going to return exactly same value every single time.
public setStaticDefinition ( $id, Closure $definition, array $tags = [] )
$id
$definition Closure
$tags array
    public function setStaticDefinition($id, \Closure $definition, $tags = [])
    {
        $this->setDefinition($id, function ($container) use($definition) {
            static $instance;
            if (!isset($instance)) {
                $instance = $definition($container);
            }
            return $instance;
        }, $tags);
    }

Usage Example

Пример #1
0
 private function registerConfigResolver()
 {
     $this->container->setStaticDefinition('response.config.resolver', function ($container) {
         return new Resolver($container->getService('response.config.loader.yaml'), $container->getService('request.matching_policy'));
     });
 }