1
1
<?php
2
+ declare (strict_types=1 );
3
+
2
4
namespace WP_Rocket \Engine \Admin \Settings ;
3
5
6
+ use WP_Rocket \Dependencies \League \Container \Argument \Literal \{ArrayArgument , StringArgument };
4
7
use WP_Rocket \Dependencies \League \Container \ServiceProvider \AbstractServiceProvider ;
5
8
use WP_Rocket \Dependencies \WPMedia \PluginFamily \Model \PluginFamily as PluginFamilyModel ;
6
9
use WP_Rocket \Dependencies \WPMedia \PluginFamily \Controller \PluginFamily as PluginFamilyController ;
@@ -15,6 +18,8 @@ class ServiceProvider extends AbstractServiceProvider {
15
18
* @var array
16
19
*/
17
20
protected $ provides = [
21
+ 'plugin_family_model ' ,
22
+ 'plugin_family_controller ' ,
18
23
'settings ' ,
19
24
'settings_render ' ,
20
25
'settings_page ' ,
@@ -42,28 +47,38 @@ public function register(): void {
42
47
$ this ->getContainer ()->add ( 'plugin_family_controller ' , PluginFamilyController::class );
43
48
44
49
$ this ->getContainer ()->add ( 'settings ' , Settings::class )
45
- ->addArgument ( $ this -> getContainer ()-> get ( 'options ' ) );
50
+ ->addArgument ( 'options ' );
46
51
$ this ->getContainer ()->add ( 'settings_render ' , Render::class )
47
52
->addArguments (
48
53
[
49
- $ this ->getContainer ()->get ( 'template_path ' ) . '/settings ' ,
54
+ new StringArgument ( $ this ->getContainer ()->get ( 'template_path ' ) . '/settings ' ) ,
50
55
'plugin_family_model ' ,
51
56
]
52
57
);
53
58
$ this ->getContainer ()->add ( 'settings_page ' , Page::class )
54
- ->addArgument ( $ this ->getContainer ()->get ( 'settings_page_config ' ) )
55
- ->addArgument ( $ this ->getContainer ()->get ( 'settings ' ) )
56
- ->addArgument ( $ this ->getContainer ()->get ( 'settings_render ' ) )
57
- ->addArgument ( $ this ->getContainer ()->get ( 'beacon ' ) )
58
- ->addArgument ( $ this ->getContainer ()->get ( 'db_optimization ' ) )
59
- ->addArgument ( $ this ->getContainer ()->get ( 'user_client ' ) )
60
- ->addArgument ( $ this ->getContainer ()->get ( 'delay_js_sitelist ' ) )
61
- ->addArgument ( $ this ->getContainer ()->get ( 'template_path ' ) )
62
- ->addArgument ( $ this ->getContainer ()->get ( 'options ' ) );
59
+ ->addArguments (
60
+ [
61
+ new ArrayArgument (
62
+ [
63
+ 'slug ' => WP_ROCKET_PLUGIN_SLUG ,
64
+ 'title ' => WP_ROCKET_PLUGIN_NAME ,
65
+ 'capability ' => 'rocket_manage_options ' ,
66
+ ]
67
+ ),
68
+ 'settings ' ,
69
+ 'settings_render ' ,
70
+ 'beacon ' ,
71
+ 'db_optimization ' ,
72
+ 'user_client ' ,
73
+ 'delay_js_sitelist ' ,
74
+ 'template_path ' ,
75
+ 'options ' ,
76
+ ]
77
+ );
63
78
$ this ->getContainer ()->addShared ( 'settings_page_subscriber ' , Subscriber::class )
64
79
->addArguments (
65
80
[
66
- $ this -> getContainer ()-> get ( 'settings_page ' ) ,
81
+ 'settings_page ' ,
67
82
'plugin_family_controller ' ,
68
83
]
69
84
);
0 commit comments