PluginProbe ʕ •ᴥ•ʔ
WP Popular Posts / 7.3.5
WP Popular Posts v7.3.5
4.0.8 4.0.9 4.1.0 4.1.1 4.1.2 4.2.0 4.2.1 4.2.2 5.0.0 5.0.1 5.0.2 5.1.0 5.2.0 5.2.1 5.2.2 5.2.3 5.2.4 5.3.0 5.3.1 5.3.2 5.3.3 5.3.4 5.3.5 5.3.6 5.4.0 5.4.1 5.4.2 5.5.0 5.5.1 6.0.0 6.0.1 6.0.2 6.0.3 6.0.4 6.0.5 6.1.0 6.1.1 6.1.2 6.1.3 6.1.4 6.2.0 6.2.1 6.3.0 6.3.1 6.3.2 6.3.3 6.3.4 6.4.0 6.4.1 6.4.2 7.0.0 7.0.1 7.1.0 7.2.0 7.3.0 7.3.1 7.3.2 7.3.3 7.3.4 7.3.5 7.3.6 7.3.7 7.3.8 7.4.0 trunk 2.3.7 3.0.0 3.0.1 3.0.2 3.0.3 3.1.0 3.1.1 3.2.0 3.2.1 3.2.2 3.2.3 3.3.0 3.3.1 3.3.2 3.3.3 3.3.4 4.0.0 4.0.1 4.0.10 4.0.11 4.0.12 4.0.13 4.0.2 4.0.3 4.0.5 4.0.6
wordpress-popular-posts / src / Container / WordPressPopularPostsConfiguration.php
wordpress-popular-posts / src / Container Last commit date
Container.php 8 months ago ContainerConfigurationInterface.php 8 months ago WordPressPopularPostsConfiguration.php 8 months ago
WordPressPopularPostsConfiguration.php
167 lines
1 <?php
2 namespace WordPressPopularPosts\Container;
3
4 use WordPressPopularPosts\{ Image, I18N, Output, Settings, Themer, Translate, Upgrader, WordPressPopularPosts };
5 use WordPressPopularPosts\Admin\Admin;
6 use WordPressPopularPosts\Block\Widget\Widget as BlockWidget;
7 use WordPressPopularPosts\Compatibility\Compatibility;
8 use WordPressPopularPosts\Front\Front;
9 use WordPressPopularPosts\Shortcode\ShortcodeLoader;
10 use WordPressPopularPosts\Rest\{ Controller, PostsEndpoint, TaxonomiesEndpoint, ThemesEndpoint, ThumbnailsEndpoint, ViewLoggerEndpoint, WidgetEndpoint };
11 use WordPressPopularPosts\Widget\Widget;
12
13 class WordPressPopularPostsConfiguration implements ContainerConfigurationInterface
14 {
15 /**
16 * Modifies the given dependency injection container.
17 *
18 * @since 5.0.0
19 * @param Container $container
20 */
21 public function modify(Container $container)
22 {
23 $container['admin_options'] = Settings::get('admin_options');
24 $container['widget_options'] = Settings::get('widget_options');
25
26 $container['upgrader'] = $container->service(function(Container $container) {
27 return new Upgrader();
28 });
29
30 $container['translate'] = $container->service(function(Container $container) {
31 return new Translate(); //phpcs:ignore WordPress.WP.I18n.LowLevelTranslationFunction,WordPress.WP.I18n.MissingArgText -- We're using namespaces, it's fine
32 });
33
34 $container['image'] = $container->service(function(Container $container) {
35 return new Image($container['admin_options']);
36 });
37
38 $container['themer'] = $container->service(function(Container $container) {
39 return new Themer();
40 });
41
42 $container['output'] = $container->service(function(Container $container) {
43 return new Output(
44 $container['widget_options'],
45 $container['admin_options'],
46 $container['image'],
47 $container['translate'],
48 $container['themer']
49 );
50 });
51
52 $container['widget'] = $container->service(function(Container $container) {
53 return new Widget(
54 $container['widget_options'],
55 $container['admin_options'],
56 $container['output'],
57 $container['image'],
58 $container['translate'],
59 $container['themer']
60 );
61 });
62
63 $container['block_widget'] = $container->service(function(Container $container) {
64 return new BlockWidget(
65 $container['admin_options'],
66 $container['output'],
67 $container['image'],
68 $container['translate'],
69 $container['themer']
70 );
71 });
72
73 $container['posts_endpoint'] = $container->service(function(Container $container) {
74 return new PostsEndpoint(
75 $container['admin_options'],
76 $container['translate']
77 );
78 });
79
80 $container['view_logger_endpoint'] = $container->service(function(Container $container) {
81 return new ViewLoggerEndpoint(
82 $container['admin_options'],
83 $container['translate']
84 );
85 });
86
87 $container['taxonomies_endpoint'] = $container->service(function(Container $container) {
88 return new TaxonomiesEndpoint(
89 $container['admin_options'],
90 $container['translate']
91 );
92 });
93
94 $container['themes_endpoint'] = $container->service(function(Container $container) {
95 return new ThemesEndpoint(
96 $container['admin_options'],
97 $container['translate'],
98 $container['themer']
99 );
100 });
101
102 $container['thumbnails_endpoint'] = $container->service(function(Container $container) {
103 return new ThumbnailsEndpoint(
104 $container['admin_options'],
105 $container['translate']
106 );
107 });
108
109 $container['widget_endpoint'] = $container->service(function(Container $container) {
110 return new WidgetEndpoint(
111 $container['admin_options'],
112 $container['translate'],
113 $container['output']
114 );
115 });
116
117 $container['rest'] = $container->service(function(Container $container) {
118 return new Controller(
119 $container['posts_endpoint'],
120 $container['view_logger_endpoint'],
121 $container['widget_endpoint'],
122 $container['themes_endpoint'],
123 $container['thumbnails_endpoint'],
124 $container['taxonomies_endpoint']
125 );
126 });
127
128 $container['admin'] = $container->service(function(Container $container) {
129 return new Admin(
130 $container['admin_options'],
131 $container['image']
132 );
133 });
134
135 $container['front'] = $container->service(function(Container $container) {
136 return new Front(
137 $container['admin_options'],
138 $container['translate']
139 );
140 });
141
142 $container['shortcode_loader'] = $container->service(function(Container $container) {
143 return new ShortcodeLoader(
144 $container['admin_options'],
145 $container['output']
146 );
147 });
148
149 $container['compatibility'] = $container->service(function(Container $container) {
150 return new Compatibility($container['admin_options'], $container['image'], $container['themer']);
151 });
152
153 $container['wpp'] = $container->service(function(Container $container) {
154 return new WordPressPopularPosts(
155 $container['upgrader'],
156 $container['rest'],
157 $container['admin'],
158 $container['front'],
159 $container['widget'],
160 $container['block_widget'],
161 $container['shortcode_loader'],
162 $container['compatibility']
163 );
164 });
165 }
166 }
167