PluginProbe ʕ •ᴥ•ʔ
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode / 3.10.1
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode v3.10.1
4.7.2 4.7.1 trunk 2.3.0 2.4.0 2.4.1 2.4.2 2.5.0 3.0.0 3.0.1 3.1.0 3.10.0 3.10.1 3.11.1 3.11.2 3.11.3 3.2.0 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.6.0 3.6.1 3.6.2 3.6.5 3.6.6 3.7.0 3.7.1 3.8.0 3.9.0 4.0.0 4.0.1 4.0.2 4.0.3 4.1.0 4.1.1 4.2.0 4.2.1 4.2.10 4.2.11 4.2.12 4.2.13 4.2.14 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.2.7 4.2.8 4.2.9 4.3.0 4.3.1 4.3.10 4.3.11 4.3.12 4.3.2 4.3.3 4.3.4 4.3.5 4.3.6 4.3.7 4.3.7.1 4.3.8 4.3.9 4.3.9.1 4.4.0 4.4.1 4.4.2 4.5.0 4.5.1 4.5.10 4.5.11 4.5.2 4.5.3 4.5.4 4.5.5 4.5.6 4.5.7 4.5.8 4.5.9 4.6.0 4.6.1 4.6.2 4.6.3 4.6.4 4.6.5 4.6.6 4.6.7 4.7.0
cookiebot / addons / inc / Dependencies / DI / Definition / FactoryDefinition.php
cookiebot / addons / inc / Dependencies / DI / Definition Last commit date
Dumper 5 years ago Exception 5 years ago Helper 5 years ago ObjectDefinition 5 years ago Resolver 5 years ago Source 5 years ago AbstractFunctionCallDefinition.php 5 years ago AliasDefinition.php 5 years ago ArrayDefinition.php 5 years ago ArrayDefinitionExtension.php 5 years ago CacheableDefinition.php 5 years ago DecoratorDefinition.php 5 years ago Definition.php 5 years ago EntryReference.php 5 years ago EnvironmentVariableDefinition.php 5 years ago FactoryDefinition.php 5 years ago HasSubDefinition.php 5 years ago InstanceDefinition.php 5 years ago ObjectDefinition.php 5 years ago StringDefinition.php 5 years ago ValueDefinition.php 5 years ago
FactoryDefinition.php
76 lines
1 <?php
2 /**
3 * PHP-DI
4 *
5 * @link http://php-di.org/
6 * @copyright Matthieu Napoli (http://mnapoli.fr/)
7 * @license http://www.opensource.org/licenses/mit-license.php MIT (see the LICENSE file)
8 */
9
10 namespace Cybot\Dependencies\DI\Definition;
11
12 use Cybot\Dependencies\DI\Scope;
13
14 /**
15 * Definition of a value or class with a factory.
16 *
17 * @author Matthieu Napoli <matthieu@mnapoli.fr>
18 */
19 class FactoryDefinition implements Definition
20 {
21 /**
22 * Entry name.
23 * @var string
24 */
25 private $name;
26
27 /**
28 * @var string
29 */
30 private $scope;
31
32 /**
33 * Callable that returns the value.
34 * @var callable
35 */
36 private $factory;
37
38 /**
39 * @param string $name Entry name
40 * @param callable $factory Callable that returns the value associated to the entry name.
41 * @param string|null $scope
42 */
43 public function __construct($name, $factory, $scope = null)
44 {
45 $this->name = $name;
46 $this->factory = $factory;
47 $this->scope = $scope;
48 }
49
50 /**
51 * @return string Entry name.
52 */
53 public function getName()
54 {
55 return $this->name;
56 }
57
58 /**
59 * Default scope is singleton: the callable is called once and the result is shared.
60 *
61 * {@inheritdoc}
62 */
63 public function getScope()
64 {
65 return $this->scope ?: Scope::SINGLETON;
66 }
67
68 /**
69 * @return callable Callable that returns the value associated to the entry name.
70 */
71 public function getCallable()
72 {
73 return $this->factory;
74 }
75 }
76