ILIAS  trunk Revision v11.0_alpha-1843-g9e1fad99175
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
scenario4.php
Go to the documentation of this file.
1 <?php
2 
20 
22 
23 interface Contribution
24 {
25 }
26 
28 {
29 }
30 
31 class ComponentA implements Component
32 {
33  public function init(
34  array | \ArrayAccess &$define,
35  array | \ArrayAccess &$implement,
36  array | \ArrayAccess &$use,
37  array | \ArrayAccess &$contribute,
38  array | \ArrayAccess &$seek,
39  array | \ArrayAccess &$provide,
40  array | \ArrayAccess &$pull,
41  array | \ArrayAccess &$internal,
42  ): void {
43  $contribute[Contribution::class] = fn() => new ContributionImplementation();
44  }
45 }
46 
47 class ComponentB implements Component
48 {
49  public function init(
50  array | \ArrayAccess &$define,
51  array | \ArrayAccess &$implement,
52  array | \ArrayAccess &$use,
53  array | \ArrayAccess &$contribute,
54  array | \ArrayAccess &$seek,
55  array | \ArrayAccess &$provide,
56  array | \ArrayAccess &$pull,
57  array | \ArrayAccess &$internal,
58  ): void {
59  $contribute[Contribution::class] = fn() => new ContributionImplementation();
60  $contribute[Contribution::class] = fn() => new ContributionImplementation();
61  }
62 }
63 
64 class ComponentC implements Component
65 {
66  public function init(
67  array | \ArrayAccess &$define,
68  array | \ArrayAccess &$implement,
69  array | \ArrayAccess &$use,
70  array | \ArrayAccess &$contribute,
71  array | \ArrayAccess &$seek,
72  array | \ArrayAccess &$provide,
73  array | \ArrayAccess &$pull,
74  array | \ArrayAccess &$internal,
75  ): void {
76  $internal["foo"] = fn() => $seek[Contribution::class];
77  }
78 }
init(array|\ArrayAccess &$define, array|\ArrayAccess &$implement, array|\ArrayAccess &$use, array|\ArrayAccess &$contribute, array|\ArrayAccess &$seek, array|\ArrayAccess &$provide, array|\ArrayAccess &$pull, array|\ArrayAccess &$internal,)
Definition: scenario4.php:66
init(array|\ArrayAccess &$define, array|\ArrayAccess &$implement, array|\ArrayAccess &$use, array|\ArrayAccess &$contribute, array|\ArrayAccess &$seek, array|\ArrayAccess &$provide, array|\ArrayAccess &$pull, array|\ArrayAccess &$internal,)
Definition: scenario4.php:33
init(array|\ArrayAccess &$define, array|\ArrayAccess &$implement, array|\ArrayAccess &$use, array|\ArrayAccess &$contribute, array|\ArrayAccess &$seek, array|\ArrayAccess &$provide, array|\ArrayAccess &$pull, array|\ArrayAccess &$internal,)
Definition: scenario4.php:49
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Definition: scenario4.php:19