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