PluginProbe
Premmerce / 1.3.23
Premmerce v1.3.23
trunk 1.0 1.1 1.2 1.2.1 1.3 1.3.10 1.3.11 1.3.12 1.3.13 1.3.14 1.3.15 1.3.16 1.3.17 1.3.18 1.3.19 1.3.2 1.3.20 1.3.21 1.3.22 1.3.23 1.3.3 1.3.4 1.3.5 1.3.6 All 28 releases
premmerce / src / Container.php

Container.php in Premmerce 1.3.23, at src/Container.php

148 lines 3.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Premmerce\Premmerce;
4
5 use Premmerce\Premmerce\Addons\AddonsManager;
6 use Premmerce\Premmerce\Admin\Handlers\PluginsHandler;
7 use Premmerce\Premmerce\Admin\Handlers\PremiumHandler;
8 use Premmerce\Premmerce\Admin\Handlers\ToolbarHandler;
9 use Premmerce\Premmerce\Admin\Handlers\WizardHandler;
10 use Premmerce\Premmerce\Api\PluginApi;
11 use Premmerce\Premmerce\Api\WizardApi;
12 use Premmerce\SDK\V2\FileManager\FileManager;
13 use Premmerce\SDK\V2\Notifications\AdminNotifier;
14 /**
15 * Class Container
16 *
17 * This class responsive for instantiation on plugin classes
18 *
19 * @package Premmerce\Premmerce
20 */
21 class Container {
22 /**
23 * @var FileManager
24 */
25 private $fileManager;
26
27 /**
28 * @var PluginApi
29 */
30 private $pluginsApi;
31
32 /**
33 * @var WizardApi
34 */
35 private $wizardApi;
36
37 /**
38 * @var PluginsHandler
39 */
40 private $pluginsHandler;
41
42 /**
43 * @var ToolbarHandler
44 */
45 private $toolbarHandler;
46
47 /**
48 * @var WizardHandler
49 */
50 private $wizardHandler;
51
52 /**
53 * @var PremiumHandler
54 */
55 private $premiumHandler;
56
57 /**
58 * @var AdminNotifier
59 */
60 private $notifier;
61
62 private $addonsManager;
63
64 /**
65 * Container constructor.
66 *
67 * @param FileManager $fileManager
68 */
69 public function __construct( FileManager $fileManager ) {
70 $this->fileManager = $fileManager;
71 }
72
73 public function getAddonsManager() {
74 if ( is_null( $this->addonsManager ) ) {
75 $this->addonsManager = new AddonsManager($this->fileManager);
76 }
77 return $this->addonsManager;
78 }
79
80 /**
81 * @return PluginApi
82 */
83 public function getPluginsApi() {
84 if ( is_null( $this->pluginsApi ) ) {
85 $this->pluginsApi = new PluginApi($this->getFileManager());
86 }
87 return $this->pluginsApi;
88 }
89
90 /**
91 * @return WizardApi
92 */
93 public function getWizardApi() {
94 if ( is_null( $this->wizardApi ) ) {
95 $this->wizardApi = new WizardApi($this->getPluginsApi());
96 }
97 return $this->wizardApi;
98 }
99
100 /**
101 * @return PluginsHandler
102 */
103 public function getPluginsHandler() {
104 if ( is_null( $this->pluginsHandler ) ) {
105 $this->pluginsHandler = new PluginsHandler($this->getPluginsApi(), $this->getFileManager());
106 }
107 return $this->pluginsHandler;
108 }
109
110 /**
111 * @return WizardHandler
112 */
113 public function getWizardHandler() {
114 if ( is_null( $this->wizardHandler ) ) {
115 $this->wizardHandler = new WizardHandler($this->getWizardApi(), $this->getFileManager());
116 }
117 return $this->wizardHandler;
118 }
119
120 /**
121 * @return ToolbarHandler
122 */
123 public function getToolbarHandler() {
124 if ( is_null( $this->toolbarHandler ) ) {
125 $this->toolbarHandler = new ToolbarHandler($this->getPluginsApi(), $this->getWizardApi());
126 }
127 return $this->toolbarHandler;
128 }
129
130 /**
131 * @return AdminNotifier
132 */
133 public function getNotifier() {
134 if ( is_null( $this->notifier ) ) {
135 $this->notifier = new AdminNotifier();
136 }
137 return $this->notifier;
138 }
139
140 /**
141 * @return FileManager
142 */
143 public function getFileManager() {
144 return $this->fileManager;
145 }
146
147 }
148