Updated Drupal to 8.6. This goes with the following updates because it's possible...
[yaffs-website] / vendor / symfony / dependency-injection / Tests / Fixtures / containers / container_almost_circular.php
index dff937ccdbb7f962d42ab7a051816f08cac2c35d..3286f3d02ff705df065487fc95a6bc6573dbac16 100644 (file)
@@ -55,4 +55,64 @@ $container->register('bar5', 'stdClass')->setPublic($public)
     ->addArgument(new Reference('foo5'))
     ->setProperty('foo', new Reference('foo5'));
 
+// doctrine-like event system + some extra
+
+$container->register('manager', 'stdClass')->setPublic(true)
+    ->addArgument(new Reference('connection'));
+
+$container->register('logger', 'stdClass')->setPublic(true)
+    ->addArgument(new Reference('connection'))
+    ->setProperty('handler', (new Definition('stdClass'))->addArgument(new Reference('manager')))
+;
+$container->register('connection', 'stdClass')->setPublic(true)
+    ->addArgument(new Reference('dispatcher'))
+    ->addArgument(new Reference('config'));
+
+$container->register('config', 'stdClass')->setPublic(false)
+    ->setProperty('logger', new Reference('logger'));
+
+$container->register('dispatcher', 'stdClass')->setPublic($public)
+    ->setLazy($public)
+    ->setProperty('subscriber', new Reference('subscriber'));
+
+$container->register('subscriber', 'stdClass')->setPublic(true)
+    ->addArgument(new Reference('manager'));
+
+// doctrine-like event system + some extra (bis)
+
+$container->register('manager2', 'stdClass')->setPublic(true)
+    ->addArgument(new Reference('connection2'));
+
+$container->register('logger2', 'stdClass')->setPublic(false)
+    ->addArgument(new Reference('connection2'))
+    ->setProperty('handler2', (new Definition('stdClass'))->addArgument(new Reference('manager2')))
+;
+$container->register('connection2', 'stdClass')->setPublic(true)
+    ->addArgument(new Reference('dispatcher2'))
+    ->addArgument(new Reference('config2'));
+
+$container->register('config2', 'stdClass')->setPublic(false)
+    ->setProperty('logger2', new Reference('logger2'));
+
+$container->register('dispatcher2', 'stdClass')->setPublic($public)
+    ->setLazy($public)
+    ->setProperty('subscriber2', new Reference('subscriber2'));
+
+$container->register('subscriber2', 'stdClass')->setPublic(false)
+    ->addArgument(new Reference('manager2'));
+
+// private service involved in a loop
+
+$container->register('foo6', 'stdClass')
+    ->setPublic(true)
+    ->setProperty('bar6', new Reference('bar6'));
+
+$container->register('bar6', 'stdClass')
+    ->setPublic(false)
+    ->addArgument(new Reference('foo6'));
+
+$container->register('baz6', 'stdClass')
+    ->setPublic(true)
+    ->setProperty('bar6', new Reference('bar6'));
+
 return $container;