PluginProbe
Premmerce / 1.0
Premmerce v1.0
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.0, at src/Container.php

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