PluginProbe ʕ •ᴥ•ʔ
WP Popular Posts / 7.1.0
WP Popular Posts v7.1.0
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 1 year ago ContainerConfigurationInterface.php 1 year ago WordPressPopularPostsConfiguration.php 1 year ago
WordPressPopularPostsConfiguration.php
167 lines
1 <?php
2 namespace WordPressPopularPosts\Container;
3
4 use WordPressPopularPosts\{ Image, I18N, Output, Settings, Themer, Translate, 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['compatibility'] = $container->service(function(Container $container) {
27 return new Compatibility();
28 });
29
30 $container['i18n'] = $container->service(function(Container $container) {
31 return new I18N($container['admin_options']);
32 });
33
34 $container['translate'] = $container->service(function(Container $container) {
35 return new Translate(); //phpcs:ignore WordPress.WP.I18n.LowLevelTranslationFunction,WordPress.WP.I18n.MissingArgText -- We're using namespaces, it's fine
36 });
37
38 $container['image'] = $container->service(function(Container $container) {
39 return new Image($container['admin_options']);
40 });
41
42 $container['themer'] = $container->service(function(Container $container) {
43 return new Themer();
44 });
45
46 $container['output'] = $container->service(function(Container $container) {
47 return new Output(
48 $container['widget_options'],
49 $container['admin_options'],
50 $container['image'],
51 $container['translate'],
52 $container['themer']
53 );
54 });
55
56 $container['widget'] = $container->service(function(Container $container) {
57 return new Widget(
58 $container['widget_options'],
59 $container['admin_options'],
60 $container['output'],
61 $container['image'],
62 $container['translate'],
63 $container['themer']
64 );
65 });
66
67 $container['block_widget'] = $container->service(function(Container $container) {
68 return new BlockWidget(
69 $container['admin_options'],
70 $container['output'],
71 $container['image'],
72 $container['translate'],
73 $container['themer']
74 );
75 });
76
77 $container['posts_endpoint'] = $container->service(function(Container $container) {
78 return new PostsEndpoint(
79 $container['admin_options'],
80 $container['translate']
81 );
82 });
83
84 $container['view_logger_endpoint'] = $container->service(function(Container $container) {
85 return new ViewLoggerEndpoint(
86 $container['admin_options'],
87 $container['translate']
88 );
89 });
90
91 $container['taxonomies_endpoint'] = $container->service(function(Container $container) {
92 return new TaxonomiesEndpoint(
93 $container['admin_options'],
94 $container['translate']
95 );
96 });
97
98 $container['themes_endpoint'] = $container->service(function(Container $container) {
99 return new ThemesEndpoint(
100 $container['admin_options'],
101 $container['translate'],
102 $container['themer']
103 );
104 });
105
106 $container['thumbnails_endpoint'] = $container->service(function(Container $container) {
107 return new ThumbnailsEndpoint(
108 $container['admin_options'],
109 $container['translate']
110 );
111 });
112
113 $container['widget_endpoint'] = $container->service(function(Container $container) {
114 return new WidgetEndpoint(
115 $container['admin_options'],
116 $container['translate'],
117 $container['output']
118 );
119 });
120
121 $container['rest'] = $container->service(function(Container $container) {
122 return new Controller(
123 $container['posts_endpoint'],
124 $container['view_logger_endpoint'],
125 $container['widget_endpoint'],
126 $container['themes_endpoint'],
127 $container['thumbnails_endpoint'],
128 $container['taxonomies_endpoint']
129 );
130 });
131
132 $container['admin'] = $container->service(function(Container $container) {
133 return new Admin(
134 $container['admin_options'],
135 $container['image']
136 );
137 });
138
139 $container['front'] = $container->service(function(Container $container) {
140 return new Front(
141 $container['admin_options'],
142 $container['translate']
143 );
144 });
145
146 $container['shortcode_loader'] = $container->service(function(Container $container) {
147 return new ShortcodeLoader(
148 $container['admin_options'],
149 $container['output']
150 );
151 });
152
153 $container['wpp'] = $container->service(function(Container $container) {
154 return new WordPressPopularPosts(
155 $container['i18n'],
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