1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
<?php /** * The base service provider class. */
namespace lucatume\DI52;
/** * Class ServiceProvider * * @package lucatume\DI52 */ abstract class ServiceProvider { /** * Whether the service provider will be a deferred one or not. * * @var bool */ protected $deferred = false;
/** * @var Container */ protected $container;
/** * ServiceProvider constructor. * * @param Container $container */ public function __construct(Container $container) { $this->container = $container; }
/** * Whether the service provider will be a deferred one or not. * * @return bool */ public function isDeferred() { return $this->deferred; }
/** * Returns an array of the class or interfaces bound and provided by the service provider. * * @return array<string> A list of fully-qualified implementations provided by the service provider. */ public function provides() { return []; }
/** * Binds and sets up implementations at boot time. * * @return void The method will not return any value. */ public function boot() { // no-op }
/** * Registers the service provider bindings. * * @return void The method does not return any value. */ abstract public function register(); }
|