diff --git a/inc/Addon/Cloudflare/ServiceProvider.php b/inc/Addon/Cloudflare/ServiceProvider.php index f10d4ee06d..004c2e6cd4 100644 --- a/inc/Addon/Cloudflare/ServiceProvider.php +++ b/inc/Addon/Cloudflare/ServiceProvider.php @@ -20,6 +20,7 @@ class ServiceProvider extends AbstractServiceProvider { * @var array */ protected $provides = [ + 'cloudflare_api_key_factory', 'cloudflare_client', 'cloudflare_endpoints', 'cloudflare', @@ -42,26 +43,29 @@ public function provides( string $id ): bool { * Registers items with the container */ public function register(): void { - $options = $this->getContainer()->get( 'options' ); - - $this->getContainer()->add( 'cloudflare_auth_factory', APIKeyFactory::class )->addArgument( $options ); + $this->getContainer()->add( 'cloudflare_api_key_factory', APIKeyFactory::class )->addArgument( 'options' ); $this->getContainer()->add( 'cloudflare_client', Client::class ) - ->addArgument( $this->getContainer()->get( 'cloudflare_auth_factory' )->create() ); + ->addArgument( $this->getContainer()->get( 'cloudflare_api_key_factory' )->create() ); $this->getContainer()->add( 'cloudflare_endpoints', Endpoints::class ) - ->addArgument( $this->getContainer()->get( 'cloudflare_client' ) ); + ->addArgument( 'cloudflare_client' ); $this->getContainer()->add( 'cloudflare', Cloudflare::class ) - ->addArgument( $options ) - ->addArgument( $this->getContainer()->get( 'cloudflare_endpoints' ) ); + ->addArguments( + [ + 'options', + 'cloudflare_endpoints', + ] + ); $this->getContainer()->addShared( 'cloudflare_subscriber', CloudflareSubscriber::class ) - ->addArgument( $this->getContainer()->get( 'cloudflare' ) ) - ->addArgument( $options ) - ->addArgument( $this->getContainer()->get( 'options_api' ) ) - ->addArgument( $this->getContainer()->get( 'cloudflare_auth_factory' ) ); - $this->getContainer()->addShared( - 'cloudflare_admin_subscriber', - CloudflareAdminSubscriber::class - ); + ->addArguments( + [ + 'cloudflare', + 'options', + 'options_api', + 'cloudflare_api_key_factory', + ] + ); + $this->getContainer()->addShared( 'cloudflare_admin_subscriber', CloudflareAdminSubscriber::class ); } } diff --git a/inc/Addon/ServiceProvider.php b/inc/Addon/ServiceProvider.php index e885fd843f..1e92bb2f12 100644 --- a/inc/Addon/ServiceProvider.php +++ b/inc/Addon/ServiceProvider.php @@ -1,4 +1,6 @@ getContainer()->get( 'options' ); - - // Sucuri Addon. $this->getContainer()->addShared( 'sucuri_subscriber', SucuriSubscriber::class ) - ->addArgument( $options ); + ->addArgument( 'options' ); $this->getContainer()->addShared( 'webp_admin_subscriber', WebPAdminSubscriber::class ) - ->addArgument( $options ) - ->addArgument( $this->getContainer()->get( 'cdn_subscriber' ) ) - ->addArgument( $this->getContainer()->get( 'beacon' ) ); + ->addArguments( + [ + 'options', + 'cdn_subscriber', + 'beacon', + ] + ); $this->getContainer()->addShared( 'webp_subscriber', WebPSubscriber::class ) - ->addArgument( $options ) - ->addArgument( $this->getContainer()->get( 'options_api' ) ) - ->addArgument( $this->getContainer()->get( 'cdn_subscriber' ) ); + ->addArguments( + [ + 'options', + 'options_api', + 'cdn_subscriber', + ] + ); } } diff --git a/inc/Addon/Varnish/ServiceProvider.php b/inc/Addon/Varnish/ServiceProvider.php index 46435929c6..c5e30eb0ca 100644 --- a/inc/Addon/Varnish/ServiceProvider.php +++ b/inc/Addon/Varnish/ServiceProvider.php @@ -1,4 +1,6 @@ getContainer()->add( 'varnish', Varnish::class ); $this->getContainer()->addShared( 'varnish_subscriber', Subscriber::class ) - ->addArgument( $this->getContainer()->get( 'varnish' ) ) - ->addArgument( $this->getContainer()->get( 'options' ) ); + ->addArguments( + [ + 'varnish', + 'options', + ] + ); } } diff --git a/inc/Engine/Activation/Activation.php b/inc/Engine/Activation/Activation.php index 12541b5568..25b8fee43b 100644 --- a/inc/Engine/Activation/Activation.php +++ b/inc/Engine/Activation/Activation.php @@ -3,6 +3,7 @@ namespace WP_Rocket\Engine\Activation; use WP_Rocket\Admin\Options; +use WP_Rocket\Dependencies\League\Container\Argument\Literal\StringArgument; use WP_Rocket\Dependencies\League\Container\Container; use WP_Rocket\Engine\Common\PerformanceHints\Activation\ServiceProvider as PerformanceHintsActivationServiceProvider; use WP_Rocket\Engine\License\ServiceProvider as LicenseServiceProvider; @@ -44,7 +45,7 @@ public static function activate_plugin() { $container = new Container(); $event_manager = new Event_Manager(); - $container->add( 'template_path', WP_ROCKET_PATH . 'views' ); + $container->add( 'template_path', new StringArgument( rocket_get_constant( 'WP_ROCKET_PATH', '' ) . 'views' ) ); $options_api = new Options( 'wp_rocket_' ); $container->add( 'options_api', $options_api ); $container->addServiceProvider( new OptionsServiceProvider() ); diff --git a/inc/Engine/Activation/ServiceProvider.php b/inc/Engine/Activation/ServiceProvider.php index eda25745b7..2455e1d0de 100644 --- a/inc/Engine/Activation/ServiceProvider.php +++ b/inc/Engine/Activation/ServiceProvider.php @@ -1,6 +1,9 @@ getContainer()->add( 'advanced_cache', AdvancedCache::class ) - ->addArgument( $this->getContainer()->get( 'template_path' ) . '/cache/' ) - ->addArgument( $filesystem ); + ->addArguments( + [ + new StringArgument( $this->getContainer()->get( 'template_path' ) . '/cache/' ), + $filesystem, + ] + ); $this->getContainer()->add( 'capabilities_manager', Manager::class ); $this->getContainer()->add( 'wp_cache', WPCache::class ) ->addArgument( $filesystem ); diff --git a/inc/Engine/Admin/API/ServiceProvider.php b/inc/Engine/Admin/API/ServiceProvider.php index a418cd752f..e509ac1e68 100644 --- a/inc/Engine/Admin/API/ServiceProvider.php +++ b/inc/Engine/Admin/API/ServiceProvider.php @@ -1,4 +1,5 @@ getContainer()->addShared( 'beacon', Beacon::class ) - ->addArgument( $this->getContainer()->get( 'options' ) ) - ->addArgument( $this->getContainer()->get( 'template_path' ) . '/settings' ) - ->addArgument( $this->getContainer()->get( 'support_data' ) ); + ->addArguments( + [ + 'options', + new StringArgument( $this->getContainer()->get( 'template_path' ) . '/settings' ), + 'support_data', + ] + ); } } diff --git a/inc/Engine/Admin/Database/ServiceProvider.php b/inc/Engine/Admin/Database/ServiceProvider.php index 73fa04a959..a9cfaeaa6a 100644 --- a/inc/Engine/Admin/Database/ServiceProvider.php +++ b/inc/Engine/Admin/Database/ServiceProvider.php @@ -1,6 +1,9 @@ getContainer()->add( 'db_optimization_process', OptimizationProcess::class ); $this->getContainer()->add( 'db_optimization', Optimization::class ) - ->addArgument( $this->getContainer()->get( 'db_optimization_process' ) ); + ->addArgument( 'db_optimization_process' ); $this->getContainer()->addShared( 'db_optimization_subscriber', Subscriber::class ) - ->addArgument( $this->getContainer()->get( 'db_optimization' ) ) - ->addArgument( $this->getContainer()->get( 'options' ) ); + ->addArguments( + [ + 'db_optimization', + 'options', + ] + ); } } diff --git a/inc/Engine/Admin/DomainChange/ServiceProvider.php b/inc/Engine/Admin/DomainChange/ServiceProvider.php index 7c93f13c97..bfd969132d 100644 --- a/inc/Engine/Admin/DomainChange/ServiceProvider.php +++ b/inc/Engine/Admin/DomainChange/ServiceProvider.php @@ -1,8 +1,10 @@ getContainer()->add( 'ajax_handler', AjaxHandler::class ); - $this->getContainer()->add( 'domain_change_subscriber', Subscriber::class ) - ->addArgument( $this->getContainer()->get( 'ajax_handler' ) ) - ->addArgument( $this->getContainer()->get( 'beacon' ) ); + $this->getContainer()->addShared( 'domain_change_subscriber', Subscriber::class ) + ->addArguments( + [ + 'ajax_handler', + 'beacon', + ] + ); } } diff --git a/inc/Engine/Admin/ServiceProvider.php b/inc/Engine/Admin/ServiceProvider.php index 324e8ef050..2e62ce1966 100644 --- a/inc/Engine/Admin/ServiceProvider.php +++ b/inc/Engine/Admin/ServiceProvider.php @@ -1,7 +1,10 @@ getContainer()->get( 'options' ); - $this->getContainer()->add( 'deactivation_intent', DeactivationIntent::class ) - ->addArgument( $this->getContainer()->get( 'template_path' ) . '/deactivation-intent' ) - ->addArgument( $this->getContainer()->get( 'options_api' ) ) - ->addArgument( $options ); + ->addArguments( + [ + new StringArgument( $this->getContainer()->get( 'template_path' ) . '/deactivation-intent' ), + 'options_api', + 'options', + ] + ); $this->getContainer()->addShared( 'deactivation_intent_subscriber', Subscriber::class ) ->addArgument( $this->getContainer()->get( 'deactivation_intent' ) ); $this->getContainer()->addShared( 'hummingbird_subscriber', Hummingbird::class ) - ->addArgument( $options ); + ->addArgument( 'options' ); $this->getContainer()->addShared( 'actionscheduler_admin_subscriber', ActionSchedulerSubscriber::class ); $this->getContainer()->addShared( 'post_edit_options_subscriber', PostEditOptionsSubscriber::class ) - ->addArgument( $options ) - ->addArgument( $this->getContainer()->get( 'template_path' ) . '/metaboxes' ); + ->addArguments( + [ + 'options', + new StringArgument( $this->getContainer()->get( 'template_path' ) . '/metaboxes' ), + ] + ); } } diff --git a/inc/Engine/Admin/Settings/ServiceProvider.php b/inc/Engine/Admin/Settings/ServiceProvider.php index 20a287010c..3eac3e3a7c 100644 --- a/inc/Engine/Admin/Settings/ServiceProvider.php +++ b/inc/Engine/Admin/Settings/ServiceProvider.php @@ -1,6 +1,9 @@ getContainer()->add( 'plugin_family_controller', PluginFamilyController::class ); $this->getContainer()->add( 'settings', Settings::class ) - ->addArgument( $this->getContainer()->get( 'options' ) ); + ->addArgument( 'options' ); $this->getContainer()->add( 'settings_render', Render::class ) ->addArguments( [ - $this->getContainer()->get( 'template_path' ) . '/settings', + new StringArgument( $this->getContainer()->get( 'template_path' ) . '/settings' ), 'plugin_family_model', ] ); $this->getContainer()->add( 'settings_page', Page::class ) - ->addArgument( $this->getContainer()->get( 'settings_page_config' ) ) - ->addArgument( $this->getContainer()->get( 'settings' ) ) - ->addArgument( $this->getContainer()->get( 'settings_render' ) ) - ->addArgument( $this->getContainer()->get( 'beacon' ) ) - ->addArgument( $this->getContainer()->get( 'db_optimization' ) ) - ->addArgument( $this->getContainer()->get( 'user_client' ) ) - ->addArgument( $this->getContainer()->get( 'delay_js_sitelist' ) ) - ->addArgument( $this->getContainer()->get( 'template_path' ) ) - ->addArgument( $this->getContainer()->get( 'options' ) ); + ->addArguments( + [ + new ArrayArgument( + [ + 'slug' => WP_ROCKET_PLUGIN_SLUG, + 'title' => WP_ROCKET_PLUGIN_NAME, + 'capability' => 'rocket_manage_options', + ] + ), + 'settings', + 'settings_render', + 'beacon', + 'db_optimization', + 'user_client', + 'delay_js_sitelist', + 'template_path', + 'options', + ] + ); $this->getContainer()->addShared( 'settings_page_subscriber', Subscriber::class ) ->addArguments( [ - $this->getContainer()->get( 'settings_page' ), + 'settings_page', 'plugin_family_controller', ] ); diff --git a/inc/Engine/CDN/RocketCDN/ServiceProvider.php b/inc/Engine/CDN/RocketCDN/ServiceProvider.php index 220bd65248..647ae22fe0 100644 --- a/inc/Engine/CDN/RocketCDN/ServiceProvider.php +++ b/inc/Engine/CDN/RocketCDN/ServiceProvider.php @@ -1,6 +1,9 @@ getContainer()->get( 'options' ); // RocketCDN API Client. $this->getContainer()->add( 'rocketcdn_api_client', APIClient::class ); // RocketCDN CDN options manager. $this->getContainer()->add( 'rocketcdn_options_manager', CDNOptionsManager::class ) - ->addArgument( $this->getContainer()->get( 'options_api' ) ) - ->addArgument( $options ); + ->addArguments( + [ + 'options_api', + 'options', + ] + ); // RocketCDN Data manager subscriber. $this->getContainer()->addShared( 'rocketcdn_data_manager_subscriber', DataManagerSubscriber::class ) - ->addArgument( $this->getContainer()->get( 'rocketcdn_api_client' ) ) - ->addArgument( $this->getContainer()->get( 'rocketcdn_options_manager' ) ) - ->addArgument( $this->getContainer()->get( 'options' ) ) - ->addArgument( $this->getContainer()->get( 'options_api' ) ); + ->addArguments( + [ + 'rocketcdn_api_client', + 'rocketcdn_options_manager', + 'options', + 'options_api', + ] + ); // RocketCDN REST API Subscriber. $this->getContainer()->addShared( 'rocketcdn_rest_subscriber', RESTSubscriber::class ) - ->addArgument( $this->getContainer()->get( 'rocketcdn_options_manager' ) ) - ->addArgument( $options ); + ->addArguments( + [ + 'rocketcdn_options_manager', + 'options', + ] + ); // RocketCDN Notices Subscriber. $this->getContainer()->addShared( 'rocketcdn_notices_subscriber', NoticesSubscriber::class ) - ->addArgument( $this->getContainer()->get( 'rocketcdn_api_client' ) ) - ->addArgument( $this->getContainer()->get( 'beacon' ) ) - ->addArgument( __DIR__ . '/views' ); + ->addArguments( + [ + 'rocketcdn_api_client', + 'beacon', + new StringArgument( __DIR__ . '/views' ), + ] + ); // RocketCDN settings page subscriber. $this->getContainer()->addShared( 'rocketcdn_admin_subscriber', AdminPageSubscriber::class ) - ->addArgument( $this->getContainer()->get( 'rocketcdn_api_client' ) ) - ->addArgument( $options ) - ->addArgument( $this->getContainer()->get( 'beacon' ) ) - ->addArgument( __DIR__ . '/views' ); + ->addArguments( + [ + 'rocketcdn_api_client', + 'options', + 'beacon', + new StringArgument( __DIR__ . '/views' ), + ] + ); } } diff --git a/inc/Engine/CDN/ServiceProvider.php b/inc/Engine/CDN/ServiceProvider.php index 6c5454dd89..4e36436963 100644 --- a/inc/Engine/CDN/ServiceProvider.php +++ b/inc/Engine/CDN/ServiceProvider.php @@ -1,4 +1,6 @@ getContainer()->get( 'options' ); - $this->getContainer()->addShared( 'cdn', CDN::class ) - ->addArgument( $options ); + ->addArgument( 'options' ); $this->getContainer()->addShared( 'cdn_subscriber', Subscriber::class ) - ->addArgument( $options ) - ->addArgument( $this->getContainer()->get( 'cdn' ) ); + ->addArguments( + [ + 'options', + 'cdn', + ] + ); $this->getContainer()->addShared( 'cdn_admin_subscriber', AdminSubscriber::class ); } } diff --git a/inc/Engine/Cache/ServiceProvider.php b/inc/Engine/Cache/ServiceProvider.php index eb34187aaf..88ddc3befd 100644 --- a/inc/Engine/Cache/ServiceProvider.php +++ b/inc/Engine/Cache/ServiceProvider.php @@ -1,11 +1,13 @@ getContainer()->add( 'preload_caches_query', CacheQuery::class ) - ->addArgument( new Logger() ); - $cache_query = $this->getContainer()->get( 'preload_caches_query' ); + ->addArgument( 'logger' ); $this->getContainer()->add( 'advanced_cache', AdvancedCache::class ) - ->addArgument( $this->getContainer()->get( 'template_path' ) . '/cache/' ) - ->addArgument( $filesystem ); + ->addArguments( + [ + new StringArgument( $this->getContainer()->get( 'template_path' ) . '/cache/' ), + $filesystem, + ] + ); $this->getContainer()->add( 'wp_cache', WPCache::class ) ->addArgument( $filesystem ); $this->getContainer()->add( 'purge', Purge::class ) - ->addArgument( $filesystem ) - ->addArgument( $cache_query ); + ->addArguments( + [ + $filesystem, + 'preload_caches_query', + ] + ); $this->getContainer()->addShared( 'purge_actions_subscriber', PurgeActionsSubscriber::class ) - ->addArgument( $this->getContainer()->get( 'options' ) ) - ->addArgument( $this->getContainer()->get( 'purge' ) ); + ->addArguments( + [ + 'options', + 'purge', + ] + ); $this->getContainer()->addShared( 'admin_cache_subscriber', AdminSubscriber::class ) - ->addArgument( $this->getContainer()->get( 'advanced_cache' ) ) - ->addArgument( $this->getContainer()->get( 'wp_cache' ) ); - + ->addArguments( + [ + 'advanced_cache', + 'wp_cache', + ] + ); $this->getContainer()->add( 'expired_cache_purge', PurgeExpiredCache::class ) - ->addArgument( rocket_get_constant( 'WP_ROCKET_CACHE_PATH' ) ); + ->addArgument( new StringArgument( rocket_get_constant( 'WP_ROCKET_CACHE_PATH', '' ) ) ); $this->getContainer()->addShared( 'expired_cache_purge_subscriber', Subscriber::class ) - ->addArgument( $this->getContainer()->get( 'options' ) ) - ->addArgument( $this->getContainer()->get( 'expired_cache_purge' ) ); - $this->getContainer()->add( 'cache_config', ConfigSubscriber::class ) - ->addArgument( $this->getContainer()->get( 'options' ) ) - ->addArgument( $this->getContainer()->get( 'options_api' ) ); + ->addArguments( + [ + 'options', + 'expired_cache_purge', + ] + ); + $this->getContainer()->addShared( 'cache_config', ConfigSubscriber::class ) + ->addArguments( + [ + 'options', + 'options_api', + ] + ); $this->getContainer()->addShared( 'taxonomy_subscriber', TaxonomySubscriber::class ); } } diff --git a/inc/Engine/Capabilities/ServiceProvider.php b/inc/Engine/Capabilities/ServiceProvider.php index 7dda54986b..b33a71980f 100644 --- a/inc/Engine/Capabilities/ServiceProvider.php +++ b/inc/Engine/Capabilities/ServiceProvider.php @@ -1,4 +1,6 @@ getContainer()->add( 'capabilities_manager', Manager::class ); $this->getContainer()->addShared( 'capabilities_subscriber', Subscriber::class ) - ->addArgument( $this->getContainer()->get( 'capabilities_manager' ) ); + ->addArgument( 'capabilities_manager' ); } } diff --git a/inc/Engine/Common/ExtractCSS/ServiceProvider.php b/inc/Engine/Common/ExtractCSS/ServiceProvider.php index 0148a2f9cc..e166c81084 100644 --- a/inc/Engine/Common/ExtractCSS/ServiceProvider.php +++ b/inc/Engine/Common/ExtractCSS/ServiceProvider.php @@ -1,7 +1,9 @@ getContainer()->add( 'lazyload_css_cache', FilesystemCache::class ) - ->addArgument( $root ); + ->addArgument( new StringArgument( $root ) ); $this->getContainer()->addShared( 'common_extractcss_subscriber', Subscriber::class ); } } diff --git a/inc/Engine/Common/JobManager/ServiceProvider.php b/inc/Engine/Common/JobManager/ServiceProvider.php index d404ef36ff..7059307f4f 100644 --- a/inc/Engine/Common/JobManager/ServiceProvider.php +++ b/inc/Engine/Common/JobManager/ServiceProvider.php @@ -48,40 +48,35 @@ public function provides( string $id ): bool { * @return void */ public function register(): void { - $factories = [ $this->getContainer()->get( 'rucss_factory' ), ]; $this->getContainer()->add( 'wpr_clock', WPRClock::class ); - $this->getContainer()->add( 'retry_strategy_context', RetryContext::class ); - $this->getContainer()->add( 'retry_strategy_factory', StrategyFactory::class ) - ->addArgument( $this->getContainer()->get( 'wpr_clock' ) ); - + ->addArgument( 'wpr_clock' ); $this->getContainer()->add( 'queue', Queue::class ); $this->getContainer()->add( 'api_client', APIClient::class ) - ->addArgument( $this->getContainer()->get( 'options' ) ); + ->addArgument( 'options' ); $this->getContainer()->addShared( 'job_processor', JobProcessor::class ) ->addArguments( [ $factories, - $this->getContainer()->get( 'queue' ), - $this->getContainer()->get( 'retry_strategy_factory' ), - $this->getContainer()->get( 'api_client' ), - $this->getContainer()->get( 'wpr_clock' ), + 'queue', + 'retry_strategy_factory', + 'api_client', + 'wpr_clock', ] - ); - + ); $this->getContainer()->addShared( 'cron_subscriber', CronSubscriber::class ) ->addArguments( [ - $this->getContainer()->get( 'job_processor' ), + 'job_processor', $factories, ] - ); + ); } } diff --git a/inc/Engine/Common/PerformanceHints/Activation/ServiceProvider.php b/inc/Engine/Common/PerformanceHints/Activation/ServiceProvider.php index 6640dbe77a..03a2e10c4d 100644 --- a/inc/Engine/Common/PerformanceHints/Activation/ServiceProvider.php +++ b/inc/Engine/Common/PerformanceHints/Activation/ServiceProvider.php @@ -55,7 +55,7 @@ public function register(): void { $this->getContainer()->addShared( 'atf_activation_factory', ATFActivationFactory::class ) ->addArguments( [ - $this->getContainer()->get( 'atf_context' ), + 'atf_context', ] ); @@ -64,7 +64,7 @@ public function register(): void { $this->getContainer()->addShared( 'lrc_activation_factory', LRCActivationFactory::class ) ->addArguments( [ - $this->getContainer()->get( 'lrc_context' ), + 'lrc_context', ] ); @@ -83,7 +83,7 @@ public function register(): void { } $this->getContainer()->add( 'performance_hints_warmup_apiclient', APIClient::class ) - ->addArgument( $this->getContainer()->get( 'options' ) ); + ->addArgument( 'options' ); $this->getContainer()->add( 'performance_hints_warmup_queue', Queue::class ); @@ -91,20 +91,20 @@ public function register(): void { ->addArguments( [ $factories, - $this->getContainer()->get( 'options' ), - $this->getContainer()->get( 'performance_hints_warmup_apiclient' ), - $this->getContainer()->get( 'user' ), - $this->getContainer()->get( 'performance_hints_warmup_queue' ), + 'options', + 'performance_hints_warmup_apiclient', + 'user', + 'performance_hints_warmup_queue', ] ); $this->getContainer()->addShared( 'performance_hints_warmup_subscriber', WarmUpSubscriber::class ) - ->addArgument( $this->getContainer()->get( 'performance_hints_warmup_controller' ) ); + ->addArgument( 'performance_hints_warmup_controller' ); $this->getContainer()->add( 'performance_hints_activation', Activation::class ) ->addArguments( [ - $this->getContainer()->get( 'performance_hints_warmup_controller' ), + 'performance_hints_warmup_controller', $factories, ] ); diff --git a/inc/Engine/Common/PerformanceHints/ServiceProvider.php b/inc/Engine/Common/PerformanceHints/ServiceProvider.php index 1330e11e3a..0a74c07e63 100644 --- a/inc/Engine/Common/PerformanceHints/ServiceProvider.php +++ b/inc/Engine/Common/PerformanceHints/ServiceProvider.php @@ -4,6 +4,7 @@ namespace WP_Rocket\Engine\Common\PerformanceHints; use WP_Rocket\Buffer\{Config, Tests}; +use WP_Rocket\Dependencies\League\Container\Argument\Literal\{ArrayArgument, StringArgument}; use WP_Rocket\Dependencies\League\Container\ServiceProvider\AbstractServiceProvider; use WP_Rocket\Engine\Common\PerformanceHints\Admin\{ Controller as AdminController, @@ -49,6 +50,7 @@ class ServiceProvider extends AbstractServiceProvider { 'performance_hints_warmup_subscriber', 'performance_hints_admin_bar', 'performance_hints_clean', + 'performance_hints_notices', ]; /** @@ -68,7 +70,6 @@ public function provides( string $id ): bool { * @return void */ public function register(): void { - $factories = []; $factory_array = [ @@ -92,27 +93,32 @@ public function register(): void { ); $this->getContainer()->addShared( 'performance_hints_ajax_subscriber', AjaxSubscriber::class ) - ->addArgument( $this->getContainer()->get( 'ajax_processor' ) ); + ->addArgument( 'ajax_processor' ); $this->getContainer()->add( 'frontend_processor', FrontendProcessor::class ) ->addArguments( [ $factories, - $this->getContainer()->get( 'options' ), + 'options', ] ); $this->getContainer()->add( 'config', Config::class ) - ->addArgument( [ 'config_dir_path' => rocket_get_constant( 'WP_ROCKET_CONFIG_PATH' ) ] ); - + ->addArgument( + new ArrayArgument( + [ + 'config_dir_path' => rocket_get_constant( 'WP_ROCKET_CONFIG_PATH', '' ), + ] + ) + ); $this->getContainer()->add( 'tests', Tests::class ) - ->addArgument( $this->getContainer()->get( 'config' ) ); + ->addArgument( 'config' ); $this->getContainer()->addShared( 'performance_hints_frontend_subscriber', FrontendSubscriber::class ) ->addArguments( [ - $this->getContainer()->get( 'frontend_processor' ), - $this->getContainer()->get( 'tests' ), + 'frontend_processor', + 'tests', ] ); @@ -129,49 +135,41 @@ public function register(): void { $factories, ] ); - $this->getContainer()->add( 'performance_hints_admin_bar', Adminbar::class ) ->addArguments( [ $factories, - $this->getContainer()->get( 'template_path' ) . '/settings', + new StringArgument( $this->getContainer()->get( 'template_path' ) . '/settings' ), ] ); - $this->getContainer()->add( 'performance_hints_clean', Clean::class ); - $this->getContainer()->addShared( 'performance_hints_admin_subscriber', AdminSubscriber::class ) ->addArguments( [ - $this->getContainer()->get( 'performance_hints_admin_controller' ), - $this->getContainer()->get( 'performance_hints_admin_bar' ), - $this->getContainer()->get( 'performance_hints_clean' ), - $this->getContainer()->get( 'performance_hints_notices' ), + 'performance_hints_admin_controller', + 'performance_hints_admin_bar', + 'performance_hints_clean', + 'performance_hints_notices', ] ); $this->getContainer()->add( 'cron_controller', CronController::class ) ->addArgument( $factory_array ); - $this->getContainer()->addShared( 'performance_hints_cron_subscriber', CronSubscriber::class ) - ->addArgument( $this->getContainer()->get( 'cron_controller' ) ); - + ->addArgument( 'cron_controller' ); $this->getContainer()->add( 'performance_hints_warmup_apiclient', APIClient::class ) - ->addArgument( $this->getContainer()->get( 'options' ) ); - + ->addArgument( 'options' ); $this->getContainer()->add( 'performance_hints_warmup_queue', Queue::class ); - $this->getContainer()->add( 'performance_hints_warmup_controller', WarmUpController::class ) ->addArguments( [ $factories, - $this->getContainer()->get( 'options' ), - $this->getContainer()->get( 'performance_hints_warmup_apiclient' ), - $this->getContainer()->get( 'user' ), - $this->getContainer()->get( 'performance_hints_warmup_queue' ), + 'options', + 'performance_hints_warmup_apiclient', + 'user', + 'performance_hints_warmup_queue', ] ); - $this->getContainer()->addShared( 'performance_hints_warmup_subscriber', WarmUpSubscriber::class ) - ->addArgument( $this->getContainer()->get( 'performance_hints_warmup_controller' ) ); + ->addArgument( 'performance_hints_warmup_controller' ); } } diff --git a/inc/Engine/CriticalPath/ServiceProvider.php b/inc/Engine/CriticalPath/ServiceProvider.php index 4584532428..cdf96681c4 100644 --- a/inc/Engine/CriticalPath/ServiceProvider.php +++ b/inc/Engine/CriticalPath/ServiceProvider.php @@ -1,7 +1,9 @@ getContainer()->get( 'options' ); - $beacon = $this->getContainer()->get( 'beacon' ); - $template_path = $this->getContainer()->get( 'template_path' ) . '/cpcss'; + $critical_css_path = new StringArgument( rocket_get_constant( 'WP_ROCKET_CRITICAL_CSS_PATH' ) ); + $template_path = new StringArgument( $this->getContainer()->get( 'template_path' ) . '/cpcss' ); - $this->getContainer()->addShared( 'cpcss_api_client', APIClient::class ); - $this->getContainer()->addShared( 'cpcss_data_manager', DataManager::class ) - ->addArgument( $critical_css_path ) - ->addArgument( $filesystem ); - $this->getContainer()->addShared( 'cpcss_service', ProcessorService::class ) - ->addArgument( $this->getContainer()->get( 'cpcss_data_manager' ) ) - ->addArgument( $this->getContainer()->get( 'cpcss_api_client' ) ); - - $processor_service = $this->getContainer()->get( 'cpcss_service' ); + $this->getContainer()->add( 'cpcss_api_client', APIClient::class ); + $this->getContainer()->add( 'cpcss_data_manager', DataManager::class ) + ->addArguments( + [ + $critical_css_path, + $filesystem, + ] + ); + $this->getContainer()->add( 'cpcss_service', ProcessorService::class ) + ->addArguments( + [ + 'cpcss_data_manager', + 'cpcss_api_client', + ] + ); // REST CPCSS START. - $this->getContainer()->addShared( 'rest_cpcss_wp_post', RESTWPPost::class ) - ->addArgument( $processor_service ) - ->addArgument( $options ); + $this->getContainer()->add( 'rest_cpcss_wp_post', RESTWPPost::class ) + ->addArguments( + [ + 'cpcss_service', + 'options', + ] + ); $this->getContainer()->addShared( 'rest_cpcss_subscriber', RESTCSSSubscriber::class ) - ->addArgument( $this->getContainer()->get( 'rest_cpcss_wp_post' ) ); + ->addArgument( 'rest_cpcss_wp_post' ); // REST CPCSS END. $this->getContainer()->add( 'critical_css_generation', CriticalCSSGeneration::class ) - ->addArgument( $processor_service ); + ->addArgument( 'cpcss_service' ); $this->getContainer()->add( 'critical_css', CriticalCSS::class ) - ->addArgument( $this->getContainer()->get( 'critical_css_generation' ) ) - ->addArgument( $options ) - ->addArgument( $filesystem ); - - $critical_css = $this->getContainer()->get( 'critical_css' ); - + ->addArguments( + [ + 'critical_css_generation', + 'options', + $filesystem, + ] + ); $this->getContainer()->addShared( 'critical_css_subscriber', CriticalCSSSubscriber::class ) - ->addArgument( $critical_css ) - ->addArgument( $processor_service ) - ->addArgument( $options ) - ->addArgument( $this->getContainer()->get( 'options_api' ) ) - ->addArgument( $this->getContainer()->get( 'user' ) ) - ->addArgument( $filesystem ); - - $this->getContainer()->add( 'cpcss_post', Post::class ) - ->addArgument( $options ) - ->addArgument( $beacon ) - ->addArgument( $critical_css_path ) - ->addArgument( $template_path ); + ->addArguments( + [ + 'critical_css', + 'cpcss_service', + 'options', + 'options_api', + 'user', + $filesystem, + ] + ); + $this->getContainer()->add( 'cpcss_post', Post::class ) + ->addArguments( + [ + 'options', + 'beacon', + $critical_css_path, + $template_path, + ] + ); $this->getContainer()->add( 'cpcss_settings', Settings::class ) - ->addArgument( $options ) - ->addArgument( $beacon ) - ->addArgument( $critical_css ) - ->addArgument( $template_path ); + ->addArguments( + [ + 'options', + 'beacon', + 'critical_css', + $template_path, + ] + ); $this->getContainer()->add( 'cpcss_admin', Admin::class ) - ->addArgument( $options ) - ->addArgument( $processor_service ); + ->addArguments( + [ + 'options', + 'cpcss_service', + ] + ); $this->getContainer()->addShared( 'critical_css_admin_subscriber', Subscriber::class ) - ->addArgument( $this->getContainer()->get( 'cpcss_post' ) ) - ->addArgument( $this->getContainer()->get( 'cpcss_settings' ) ) - ->addArgument( $this->getContainer()->get( 'cpcss_admin' ) ); + ->addArguments( + [ + 'cpcss_post', + 'cpcss_settings', + 'cpcss_admin', + ] + ); } } diff --git a/inc/Engine/Deactivation/Deactivation.php b/inc/Engine/Deactivation/Deactivation.php index f7380914e2..30d936fa66 100644 --- a/inc/Engine/Deactivation/Deactivation.php +++ b/inc/Engine/Deactivation/Deactivation.php @@ -3,6 +3,7 @@ namespace WP_Rocket\Engine\Deactivation; use WP_Rocket\Admin\Options; +use WP_Rocket\Dependencies\League\Container\Argument\Literal\StringArgument; use WP_Rocket\Dependencies\League\Container\Container; use WP_Rocket\Engine\Admin\Beacon\ServiceProvider as BeaconServiceProvider; use WP_Rocket\Engine\Support\ServiceProvider as SupportServiceProvider; @@ -36,12 +37,11 @@ public static function deactivate_plugin() { $container = new Container(); $container->add( 'options_api', new Options( 'wp_rocket_' ) ); - $container->add( 'template_path', WP_ROCKET_PATH . 'views' ); + $container->add( 'template_path', new StringArgument( rocket_get_constant( 'WP_ROCKET_PATH', '' ) . 'views' ) ); $container->addServiceProvider( new OptionsServiceProvider() ); $container->addServiceProvider( new BeaconServiceProvider() ); $container->addServiceProvider( new SupportServiceProvider() ); - $container->addServiceProvider( new ServiceProvider() ); $container->addServiceProvider( new HostingsServiceProvider() ); diff --git a/inc/Engine/Deactivation/ServiceProvider.php b/inc/Engine/Deactivation/ServiceProvider.php index 6d33c2d9ee..ac020b5c4e 100644 --- a/inc/Engine/Deactivation/ServiceProvider.php +++ b/inc/Engine/Deactivation/ServiceProvider.php @@ -1,6 +1,7 @@ getContainer()->add( 'cloudflare_plugin_facade', CloudflareFacade::class ); $this->getContainer() ->addShared( 'cloudflare_plugin_subscriber', Cloudflare::class ) - ->addArgument( $this->getContainer()->get( 'options' ) ) - ->addArgument( $this->getContainer()->get( 'options_api' ) ) - ->addArgument( $this->getContainer()->get( 'beacon' ) ) - ->addArgument( $this->getContainer()->get( 'cloudflare_plugin_facade' ) ); + ->addArgument( 'options' ) + ->addArgument( 'options_api' ) + ->addArgument( 'beacon' ) + ->addArgument( 'cloudflare_plugin_facade' ); $this->getContainer()->add( 'advanced_cache', AdvancedCache::class ) - ->addArgument( $this->getContainer()->get( 'template_path' ) . '/cache/' ) + ->addArgument( new StringArgument( $this->getContainer()->get( 'template_path' ) . '/cache/' ) ) ->addArgument( $filesystem ); $this->getContainer()->add( 'capabilities_manager', Manager::class ); $this->getContainer()->add( 'wp_cache', WPCache::class ) diff --git a/inc/Engine/Debug/ServiceProvider.php b/inc/Engine/Debug/ServiceProvider.php index 78b441f699..1045156caf 100644 --- a/inc/Engine/Debug/ServiceProvider.php +++ b/inc/Engine/Debug/ServiceProvider.php @@ -1,8 +1,10 @@ container->add( 'debug_subscriber', DebugSubscriber::class ); + $this->container->addShared( 'debug_subscriber', DebugSubscriber::class ); if ( empty( $this->services ) ) { return; @@ -71,8 +73,8 @@ public function register(): void { foreach ( $this->services as $service ) { $this->getContainer()->add( $service['service'], $service['class'] ) - ->addArgument( $this->getContainer()->get( 'options_debug' ) ) - ->addArgument( $this->getContainer()->get( 'options_api' ) ); + ->addArgument( 'options_debug' ) + ->addArgument( 'options_api' ); } } } diff --git a/inc/Engine/HealthCheck/ServiceProvider.php b/inc/Engine/HealthCheck/ServiceProvider.php index 1a2acf8758..a9dcf73b58 100644 --- a/inc/Engine/HealthCheck/ServiceProvider.php +++ b/inc/Engine/HealthCheck/ServiceProvider.php @@ -1,4 +1,6 @@ getContainer()->addShared( 'health_check', HealthCheck::class ) - ->addArgument( $this->getContainer()->get( 'options' ) ); + ->addArgument( 'options' ); $this->getContainer()->addShared( 'action_scheduler_check', ActionSchedulerCheck::class ); } } diff --git a/inc/Engine/Heartbeat/ServiceProvider.php b/inc/Engine/Heartbeat/ServiceProvider.php index e8c1664e65..d180062dec 100644 --- a/inc/Engine/Heartbeat/ServiceProvider.php +++ b/inc/Engine/Heartbeat/ServiceProvider.php @@ -1,4 +1,6 @@ getContainer()->addShared( 'heartbeat_subscriber', HeartbeatSubscriber::class ) - ->addArgument( $this->getContainer()->get( 'options' ) ); + ->addArgument( 'options' ); } } diff --git a/inc/Engine/License/ServiceProvider.php b/inc/Engine/License/ServiceProvider.php index cae466089a..cde3cc726b 100644 --- a/inc/Engine/License/ServiceProvider.php +++ b/inc/Engine/License/ServiceProvider.php @@ -1,7 +1,9 @@ getContainer()->add( 'pricing_client', PricingClient::class ); $this->getContainer()->add( 'user_client', UserClient::class ) - ->addArgument( $this->getContainer()->get( 'options' ) ); + ->addArgument( 'options' ); $this->getContainer()->addShared( 'pricing', Pricing::class ) ->addArgument( $this->getContainer()->get( 'pricing_client' )->get_pricing_data() ); $this->getContainer()->addShared( 'user', User::class ) ->addArgument( $this->getContainer()->get( 'user_client' )->get_user_data() ); $this->getContainer()->add( 'upgrade', Upgrade::class ) - ->addArgument( $this->getContainer()->get( 'pricing' ) ) - ->addArgument( $this->getContainer()->get( 'user' ) ) - ->addArgument( $views ); + ->addArguments( + [ + 'pricing', + 'user', + $views, + ] + ); $this->getContainer()->add( 'renewal', Renewal::class ) - ->addArgument( $this->getContainer()->get( 'pricing' ) ) - ->addArgument( $this->getContainer()->get( 'user' ) ) - ->addArgument( $this->getContainer()->get( 'options' ) ) - ->addArgument( $views ); + ->addArguments( + [ + 'pricing', + 'user', + 'options', + $views, + ] + ); $this->getContainer()->addShared( 'license_subscriber', Subscriber::class ) - ->addArgument( $this->getContainer()->get( 'upgrade' ) ) - ->addArgument( $this->getContainer()->get( 'renewal' ) ); + ->addArguments( + [ + 'upgrade', + 'renewal', + ] + ); } } diff --git a/inc/Engine/Media/AboveTheFold/ServiceProvider.php b/inc/Engine/Media/AboveTheFold/ServiceProvider.php index 55c1f4999f..50095f783b 100644 --- a/inc/Engine/Media/AboveTheFold/ServiceProvider.php +++ b/inc/Engine/Media/AboveTheFold/ServiceProvider.php @@ -56,31 +56,30 @@ public function register(): void { $this->getContainer()->add( 'atf_controller', FrontController::class ) ->addArguments( [ - $this->getContainer()->get( 'options' ), - $this->getContainer()->get( 'atf_query' ), - $this->getContainer()->get( 'atf_context' ), + 'options', + 'atf_query', + 'atf_context', ] ); $this->getContainer()->addShared( 'atf_subscriber', FrontSubscriber::class ) - ->addArgument( $this->getContainer()->get( 'atf_controller' ) ); - + ->addArgument( 'atf_controller' ); $this->getContainer()->add( 'atf_ajax_controller', AJAXController::class ) ->addArguments( [ - $this->getContainer()->get( 'atf_query' ), - $this->getContainer()->get( 'atf_context' ), + 'atf_query', + 'atf_context', ] ); $this->getContainer()->addShared( 'atf_factory', Factory::class ) ->addArguments( [ - $this->getContainer()->get( 'atf_ajax_controller' ), - $this->getContainer()->get( 'atf_controller' ), - $this->getContainer()->get( 'atf_table' ), - $this->getContainer()->get( 'atf_query' ), - $this->getContainer()->get( 'atf_context' ), + 'atf_ajax_controller', + 'atf_controller', + 'atf_table', + 'atf_query', + 'atf_context', ] ); } diff --git a/inc/Engine/Media/Lazyload/CSS/Admin/ServiceProvider.php b/inc/Engine/Media/Lazyload/CSS/Admin/ServiceProvider.php index 7b12094792..55bfbb5a9d 100644 --- a/inc/Engine/Media/Lazyload/CSS/Admin/ServiceProvider.php +++ b/inc/Engine/Media/Lazyload/CSS/Admin/ServiceProvider.php @@ -1,4 +1,5 @@ getContainer()->addShared( 'lazyload_css_admin_subscriber', Subscriber::class ) - ->addArgument( $this->getContainer()->get( 'lazyload_css_cache' ) ); + ->addArgument( 'lazyload_css_cache' ); } } diff --git a/inc/Engine/Media/Lazyload/CSS/ServiceProvider.php b/inc/Engine/Media/Lazyload/CSS/ServiceProvider.php index 10f0189942..d7b828be67 100644 --- a/inc/Engine/Media/Lazyload/CSS/ServiceProvider.php +++ b/inc/Engine/Media/Lazyload/CSS/ServiceProvider.php @@ -1,7 +1,9 @@ getContainer()->add( 'lazyload_css_cache', FilesystemCache::class ) - ->addArgument( apply_filters( 'rocket_lazyload_css_cache_root', 'background-css/' . get_current_blog_id() ) ); + $path = apply_filters( 'rocket_lazyload_css_cache_root', 'background-css/' . get_current_blog_id() ); - $cache = $this->getContainer()->get( 'lazyload_css_cache' ); + $this->getContainer()->add( 'lazyload_css_cache', FilesystemCache::class ) + ->addArgument( new StringArgument( $path ) ); $this->getContainer()->add( 'lazyload_css_context', LazyloadCSSContext::class ) - ->addArgument( $this->getContainer()->get( 'options' ) ) - ->addArgument( $cache ); - - $this->getContainer()->add( 'lazyload_css_fetcher', ContentFetcher::class ); - + ->addArguments( + [ + 'options', + 'lazyload_css_cache', + ] + ); + $this->getContainer()->add( 'lazyload_css_content_fetcher', ContentFetcher::class ); $this->getContainer()->add( 'lazyload_css_extractor', Extractor::class ); $this->getContainer()->add( 'lazyload_css_file_resolver', FileResolver::class ); - $this->getContainer()->add( 'lazyload_css_json_formatter', MappingFormatter::class ); + $this->getContainer()->add( 'lazyload_css_mapping_formatter', MappingFormatter::class ); $this->getContainer()->add( 'lazyload_css_rule_formatter', RuleFormatter::class ); $this->getContainer()->add( 'lazyload_css_tag_generator', TagGenerator::class ); - - $this->getContainer()->add( 'lazyload_css_factory', LazyloadCSSContentFactory::class ); - + $this->getContainer()->add( 'lazyload_css_content_factory', LazyloadCSSContentFactory::class ); $this->getContainer()->addShared( 'lazyload_css_subscriber', Subscriber::class ) - ->addArgument( $this->getContainer()->get( 'lazyload_css_extractor' ) ) - ->addArgument( $this->getContainer()->get( 'lazyload_css_rule_formatter' ) ) - ->addArgument( $this->getContainer()->get( 'lazyload_css_file_resolver' ) ) - ->addArgument( $cache ) - ->addArgument( $this->getContainer()->get( 'lazyload_css_json_formatter' ) ) - ->addArgument( $this->getContainer()->get( 'lazyload_css_tag_generator' ) ) - ->addArgument( $this->getContainer()->get( 'lazyload_css_fetcher' ) ) - ->addArgument( $this->getContainer()->get( 'lazyload_css_context' ) ) - ->addArgument( $this->getContainer()->get( 'options' ) ) - ->addArgument( $this->getContainer()->get( 'lazyload_css_factory' ) ); + ->addArguments( + [ + 'lazyload_css_extractor', + 'lazyload_css_rule_formatter', + 'lazyload_css_file_resolver', + 'lazyload_css_cache', + 'lazyload_css_mapping_formatter', + 'lazyload_css_tag_generator', + 'lazyload_css_content_fetcher', + 'lazyload_css_context', + 'options', + 'lazyload_css_content_factory', + ] + ); } } diff --git a/inc/Engine/Media/ServiceProvider.php b/inc/Engine/Media/ServiceProvider.php index 1b3d686a0c..8a866a2423 100644 --- a/inc/Engine/Media/ServiceProvider.php +++ b/inc/Engine/Media/ServiceProvider.php @@ -1,8 +1,10 @@ getContainer()->get( 'options' ); - $this->getContainer()->add( 'config', Config::class ) - ->addArgument( [ 'config_dir_path' => rocket_get_constant( 'WP_ROCKET_CONFIG_PATH' ) ] ); + ->addArgument( + new ArrayArgument( + [ + 'config_dir_path' => rocket_get_constant( 'WP_ROCKET_CONFIG_PATH' ), + ] + ) + ); $this->getContainer()->add( 'tests', Tests::class ) - ->addArgument( $this->getContainer()->get( 'config' ) ); + ->addArgument( 'config' ); $this->getContainer()->add( 'lazyload_assets', Assets::class ); $this->getContainer()->add( 'lazyload_image', Image::class ); $this->getContainer()->add( 'lazyload_iframe', Iframe::class ); $this->getContainer()->addShared( 'lazyload_subscriber', Subscriber::class ) - ->addArgument( $options ) - ->addArgument( $this->getContainer()->get( 'lazyload_assets' ) ) - ->addArgument( $this->getContainer()->get( 'lazyload_image' ) ) - ->addArgument( $this->getContainer()->get( 'lazyload_iframe' ) ); + ->addArguments( + [ + 'options', + 'lazyload_assets', + 'lazyload_image', + 'lazyload_iframe', + ] + ); $this->getContainer()->addShared( 'lazyload_admin_subscriber', LazyloadAdminSubscriber::class ); $this->getContainer()->addShared( 'emojis_subscriber', EmojisSubscriber::class ) - ->addArgument( $options ); + ->addArgument( 'options' ); $this->getContainer()->add( 'image_dimensions', ImageDimensions::class ) - ->addArgument( $options ); + ->addArgument( 'options' ); $this->getContainer()->addShared( 'image_dimensions_subscriber', ImageDimensionsSubscriber::class ) - ->addArgument( $this->getContainer()->get( 'image_dimensions' ) ) - ->addArgument( $this->getContainer()->get( 'tests' ) ); + ->addArguments( + [ + 'image_dimensions', + 'tests', + ] + ); $this->getContainer()->addShared( 'image_dimensions_admin_subscriber', ImageDimensionsAdminSubscriber::class ) - ->addArgument( $this->getContainer()->get( 'image_dimensions' ) ); + ->addArgument( 'image_dimensions' ); } } diff --git a/inc/Engine/Optimization/AdminServiceProvider.php b/inc/Engine/Optimization/AdminServiceProvider.php index 2c5730e4d2..2609bf46bb 100644 --- a/inc/Engine/Optimization/AdminServiceProvider.php +++ b/inc/Engine/Optimization/AdminServiceProvider.php @@ -1,7 +1,12 @@ getContainer()->addShared( 'minify_css_admin_subscriber', 'WP_Rocket\Engine\Optimization\Minify\CSS\AdminSubscriber' ); - $this->getContainer()->add( 'google_fonts_settings', 'WP_Rocket\Engine\Optimization\GoogleFonts\Admin\Settings' ) - ->addArgument( $this->getContainer()->get( 'options' ) ) - ->addArgument( $this->getContainer()->get( 'beacon' ) ) - ->addArgument( $this->getContainer()->get( 'template_path' ) ); - $this->getContainer()->addShared( 'google_fonts_admin_subscriber', 'WP_Rocket\Engine\Optimization\GoogleFonts\Admin\Subscriber' ) - ->addArgument( $this->getContainer()->get( 'google_fonts_settings' ) ); - $this->getContainer()->addShared( 'minify_admin_subscriber', 'WP_Rocket\Engine\Optimization\Minify\AdminSubscriber' ) - ->addArgument( $this->getContainer()->get( 'options' ) ); + $this->getContainer()->addShared( 'minify_css_admin_subscriber', MinifyCssAdminSubscriber::class ); + $this->getContainer()->add( 'google_fonts_settings', Settings::class ) + ->addArgument( 'options' ) + ->addArgument( 'beacon' ) + ->addArgument( 'template_path' ); + $this->getContainer()->addShared( 'google_fonts_admin_subscriber', Subscriber::class ) + ->addArgument( 'google_fonts_settings' ); + $this->getContainer()->addShared( 'minify_admin_subscriber', MinifyAdminSubscriber::class ) + ->addArgument( 'options' ); } } diff --git a/inc/Engine/Optimization/DeferJS/ServiceProvider.php b/inc/Engine/Optimization/DeferJS/ServiceProvider.php index 4376d115e8..aea10665bd 100644 --- a/inc/Engine/Optimization/DeferJS/ServiceProvider.php +++ b/inc/Engine/Optimization/DeferJS/ServiceProvider.php @@ -1,4 +1,6 @@ getContainer()->add( 'defer_js', DeferJS::class ) - ->addArgument( $this->getContainer()->get( 'options' ) ) - ->addArgument( $this->getContainer()->get( 'dynamic_lists_defaultlists_data_manager' ) ); + ->addArguments( + [ + 'options', + 'dynamic_lists_defaultlists_data_manager', + ] + ); $this->getContainer()->addShared( 'defer_js_admin_subscriber', AdminSubscriber::class ) - ->addArgument( $this->getContainer()->get( 'defer_js' ) ); + ->addArgument( 'defer_js' ); $this->getContainer()->addShared( 'defer_js_subscriber', Subscriber::class ) - ->addArgument( $this->getContainer()->get( 'defer_js' ) ); + ->addArgument( 'defer_js' ); } } diff --git a/inc/Engine/Optimization/DelayJS/ServiceProvider.php b/inc/Engine/Optimization/DelayJS/ServiceProvider.php index fb39c7a2c7..35194388a0 100644 --- a/inc/Engine/Optimization/DelayJS/ServiceProvider.php +++ b/inc/Engine/Optimization/DelayJS/ServiceProvider.php @@ -1,4 +1,6 @@ getContainer()->add( 'delay_js_sitelist', SiteList::class ) - ->addArgument( $this->getContainer()->get( 'dynamic_lists' ) ) - ->addArgument( $this->getContainer()->get( 'options' ) ) - ->addArgument( $this->getContainer()->get( 'options_api' ) ); + ->addArguments( + [ + 'dynamic_lists', + 'options', + 'options_api', + ] + ); $this->getContainer()->add( 'delay_js_settings', Settings::class ) - ->addArgument( $this->getContainer()->get( 'options_api' ) ); + ->addArgument( 'options_api' ); $this->getContainer()->addShared( 'delay_js_admin_subscriber', AdminSubscriber::class ) - ->addArgument( $this->getContainer()->get( 'delay_js_settings' ) ) - ->addArgument( $this->getContainer()->get( 'delay_js_sitelist' ) ); + ->addArguments( + [ + 'delay_js_settings', + 'delay_js_sitelist', + ] + ); $this->getContainer()->add( 'delay_js_html', HTML::class ) - ->addArgument( $this->getContainer()->get( 'options' ) ) - ->addArgument( $this->getContainer()->get( 'dynamic_lists_defaultlists_data_manager' ) ) - ->addArgument( new Logger() ); + ->addArguments( + [ + 'options', + 'dynamic_lists_defaultlists_data_manager', + 'logger', + ] + ); $this->getContainer()->addShared( 'delay_js_subscriber', Subscriber::class ) - ->addArgument( $this->getContainer()->get( 'delay_js_html' ) ) - ->addArgument( rocket_direct_filesystem() ); + ->addArguments( + [ + 'delay_js_html', + rocket_direct_filesystem(), + ] + ); } } diff --git a/inc/Engine/Optimization/DynamicLists/ServiceProvider.php b/inc/Engine/Optimization/DynamicLists/ServiceProvider.php index cfb64586f5..8dc27e566d 100644 --- a/inc/Engine/Optimization/DynamicLists/ServiceProvider.php +++ b/inc/Engine/Optimization/DynamicLists/ServiceProvider.php @@ -1,4 +1,5 @@ getContainer()->add( 'dynamic_lists_defaultlists_data_manager', DefaultListsDataManager::class ); $this->getContainer()->add( 'dynamic_lists_defaultlists_api_client', DefaultListsAPIClient::class ) - ->addArgument( $this->getContainer()->get( 'options' ) ); + ->addArgument( 'options' ); $this->getContainer()->add( 'dynamic_lists_delayjslists_data_manager', DelayJSListsDataManager::class ); $this->getContainer()->add( 'dynamic_lists_delayjslists_api_client', DelayJSListsAPIClient::class ) - ->addArgument( $this->getContainer()->get( 'options' ) ); + ->addArgument( 'options' ); $this->getContainer()->add( 'dynamic_lists_incompatible_plugins_lists_data_manager', IncompatiblePluginsListsDataManager::class ) - ->addArgument( $this->getContainer()->get( 'options' ) ); + ->addArgument( 'options' ); $this->getContainer()->add( 'dynamic_lists_incompatible_plugins_lists_api_client', IncompatiblePluginsListsAPIClient::class ) - ->addArgument( $this->getContainer()->get( 'options' ) ); + ->addArgument( 'options' ); $providers = [ 'defaultlists' => @@ -84,12 +85,15 @@ public function register(): void { ]; $this->getContainer()->add( 'dynamic_lists', DynamicLists::class ) - ->addArgument( $providers ) - ->addArgument( $this->getContainer()->get( 'user' ) ) - ->addArgument( $this->getContainer()->get( 'template_path' ) ) - ->addArgument( $this->getContainer()->get( 'beacon' ) ); - + ->addArguments( + [ + $providers, + 'user', + 'template_path', + 'beacon', + ] + ); $this->getContainer()->addShared( 'dynamic_lists_subscriber', Subscriber::class ) - ->addArgument( $this->getContainer()->get( 'dynamic_lists' ) ); + ->addArgument( 'dynamic_lists' ); } } diff --git a/inc/Engine/Optimization/LazyRenderContent/ServiceProvider.php b/inc/Engine/Optimization/LazyRenderContent/ServiceProvider.php index 023710553e..600b028608 100644 --- a/inc/Engine/Optimization/LazyRenderContent/ServiceProvider.php +++ b/inc/Engine/Optimization/LazyRenderContent/ServiceProvider.php @@ -56,16 +56,16 @@ public function register(): void { $this->getContainer()->add( 'lrc_ajax_controller', AJAXController::class ) ->addArguments( [ - $this->getContainer()->get( 'lrc_query' ), - $this->getContainer()->get( 'lrc_context' ), + 'lrc_query', + 'lrc_context', ] ); $this->getContainer()->add( 'lrc_frontend_processor', Processor::class ); $this->getContainer()->add( 'lrc_frontend_controller', FrontController::class ) ->addArguments( [ - $this->getContainer()->get( 'lrc_frontend_processor' ), - $this->getContainer()->get( 'lrc_context' ), + 'lrc_frontend_processor', + 'lrc_context', ] ); $this->getContainer()->addShared( 'lrc_frontend_subscriber', FrontSubscriber::class ) @@ -78,11 +78,11 @@ public function register(): void { $this->getContainer()->addShared( 'lrc_factory', Factory::class ) ->addArguments( [ - $this->getContainer()->get( 'lrc_context' ), - $this->getContainer()->get( 'lrc_table' ), - $this->getContainer()->get( 'lrc_query' ), - $this->getContainer()->get( 'lrc_ajax_controller' ), - $this->getContainer()->get( 'lrc_frontend_controller' ), + 'lrc_context', + 'lrc_table', + 'lrc_query', + 'lrc_ajax_controller', + 'lrc_frontend_controller', ] ); } diff --git a/inc/Engine/Optimization/RUCSS/ServiceProvider.php b/inc/Engine/Optimization/RUCSS/ServiceProvider.php index 3e4bef6c37..10a8a2e1f3 100644 --- a/inc/Engine/Optimization/RUCSS/ServiceProvider.php +++ b/inc/Engine/Optimization/RUCSS/ServiceProvider.php @@ -1,6 +1,9 @@ getContainer()->addShared( 'rucss_usedcss_table', UsedCSSTable::class ); $this->getContainer()->add( 'rucss_database', Database::class ) - ->addArgument( $this->getContainer()->get( 'rucss_usedcss_table' ) ); + ->addArgument( 'rucss_usedcss_table' ); $this->getContainer()->add( 'rucss_settings', Settings::class ) - ->addArgument( $this->getContainer()->get( 'options' ) ) - ->addArgument( $this->getContainer()->get( 'beacon' ) ) - ->addArgument( $this->getContainer()->get( 'rucss_usedcss_table' ) ); - + ->addArguments( + [ + 'options', + 'beacon', + 'rucss_usedcss_table', + ] + ); $this->getContainer()->add( 'rucss_used_css_query', UsedCSSQuery::class ); $this->getContainer()->add( 'rucss_queue', Queue::class ); $this->getContainer()->add( 'rucss_filesystem', Filesystem::class ) - ->addArgument( rocket_get_constant( 'WP_ROCKET_USED_CSS_PATH' ) ) - ->addArgument( rocket_direct_filesystem() ); - + ->addArguments( + [ + new StringArgument( rocket_get_constant( 'WP_ROCKET_USED_CSS_PATH', '' ) ), + rocket_direct_filesystem(), + ] + ); $this->getContainer()->add( 'rucss_context', RUCSSContext::class ) - ->addArgument( $this->getContainer()->get( 'options' ) ) - ->addArgument( $this->getContainer()->get( 'rucss_filesystem' ) ); - + ->addArguments( + [ + 'options', + 'rucss_filesystem', + ] + ); $this->getContainer()->add( 'rucss_optimize_context', RUCSSOptimizeContext::class ) - ->addArgument( $this->getContainer()->get( 'options' ) ); - + ->addArgument( 'options' ); $this->getContainer()->add( 'rucss_context_saas', RUCSSContextSaas::class ) - ->addArgument( $this->getContainer()->get( 'options' ) ); - + ->addArgument( 'options' ); $this->getContainer()->add( 'rucss_manager', Manager::class ) ->addArguments( [ - $this->getContainer()->get( 'rucss_used_css_query' ), - $this->getContainer()->get( 'rucss_filesystem' ), - $this->getContainer()->get( 'rucss_context_saas' ), - $this->getContainer()->get( 'options' ), + 'rucss_used_css_query', + 'rucss_filesystem', + 'rucss_context_saas', + 'options', ] ); - $this->getContainer()->addShared( 'rucss_factory', Factory::class ) ->addArguments( - [ - $this->getContainer()->get( 'rucss_manager' ), - $this->getContainer()->get( 'rucss_usedcss_table' ), - ] + [ + 'rucss_manager', + 'rucss_usedcss_table', + ] ); - $this->getContainer()->add( 'rucss_used_css_controller', UsedCSSController::class ) - ->addArgument( $this->getContainer()->get( 'options' ) ) - ->addArgument( $this->getContainer()->get( 'rucss_used_css_query' ) ) - ->addArgument( $this->getContainer()->get( 'dynamic_lists_defaultlists_data_manager' ) ) - ->addArgument( $this->getContainer()->get( 'rucss_filesystem' ) ) - ->addArgument( $this->getContainer()->get( 'rucss_context' ) ) - ->addArgument( $this->getContainer()->get( 'rucss_manager' ) ); - + ->addArguments( + [ + 'options', + 'rucss_used_css_query', + 'dynamic_lists_defaultlists_data_manager', + 'rucss_filesystem', + 'rucss_context', + 'rucss_manager', + ] + ); $this->getContainer()->addShared( 'rucss_option_subscriber', OptionSubscriber::class ) - ->addArgument( $this->getContainer()->get( 'rucss_settings' ) ); + ->addArgument( 'rucss_settings' ); $this->getContainer()->addShared( 'rucss_admin_subscriber', AdminSubscriber::class ) - ->addArgument( $this->getContainer()->get( 'rucss_settings' ) ) - ->addArgument( $this->getContainer()->get( 'rucss_database' ) ) - ->addArgument( $this->getContainer()->get( 'rucss_used_css_controller' ) ) - ->addArgument( $this->getContainer()->get( 'rucss_queue' ) ); + ->addArguments( + [ + 'rucss_settings', + 'rucss_database', + 'rucss_used_css_controller', + 'rucss_queue', + ] + ); $this->getContainer()->addShared( 'rucss_frontend_subscriber', FrontendSubscriber::class ) - ->addArgument( $this->getContainer()->get( 'rucss_used_css_controller' ) ) - ->addArgument( $this->getContainer()->get( 'rucss_context' ) ); - + ->addArguments( + [ + 'rucss_used_css_controller', + 'rucss_context', + ] + ); $this->getContainer()->addShared( 'rucss_cron_subscriber', CronSubscriber::class ) - ->addArgument( $this->getContainer()->get( 'job_processor' ) ) - ->addArgument( $this->getContainer()->get( 'rucss_used_css_query' ) ); + ->addArguments( + [ + 'job_processor', + 'rucss_used_css_query', + ] + ); } } diff --git a/inc/Engine/Optimization/ServiceProvider.php b/inc/Engine/Optimization/ServiceProvider.php index 65cc7d66f0..06e484336d 100644 --- a/inc/Engine/Optimization/ServiceProvider.php +++ b/inc/Engine/Optimization/ServiceProvider.php @@ -1,10 +1,13 @@ getContainer()->get( 'options' ); $filesystem = rocket_direct_filesystem(); $this->getContainer()->add( 'buffer_optimization', Optimization::class ) - ->addArgument( $this->getContainer()->get( 'tests' ) ); + ->addArgument( 'tests' ); $this->getContainer()->addShared( 'buffer_subscriber', BufferSubscriber::class ) - ->addArgument( $this->getContainer()->get( 'buffer_optimization' ) ); + ->addArgument( 'buffer_optimization' ); $this->getContainer()->addShared( 'cache_dynamic_resource', CacheDynamicResource::class ) - ->addArgument( $options ) - ->addArgument( WP_ROCKET_CACHE_BUSTING_PATH ) - ->addArgument( WP_ROCKET_CACHE_BUSTING_URL ); + ->addArguments( + [ + 'options', + new StringArgument( rocket_get_constant( 'WP_ROCKET_CACHE_BUSTING_PATH', '' ) ), + new StringArgument( rocket_get_constant( 'WP_ROCKET_CACHE_BUSTING_URL', '' ) ), + ] + ); $this->getContainer()->add( 'optimize_google_fonts', Combine::class ); $this->getContainer()->add( 'optimize_google_fonts_v2', CombineV2::class ); $this->getContainer()->addShared( 'combine_google_fonts_subscriber', Subscriber::class ) - ->addArgument( $this->getContainer()->get( 'optimize_google_fonts' ) ) - ->addArgument( $this->getContainer()->get( 'optimize_google_fonts_v2' ) ) - ->addArgument( $options ); + ->addArguments( + [ + 'optimize_google_fonts', + 'optimize_google_fonts_v2', + 'options', + ] + ); $this->getContainer()->addShared( 'minify_css_subscriber', Minify\CSS\Subscriber::class ) - ->addArgument( $options ) - ->addArgument( $filesystem ); + ->addArguments( + [ + 'options', + $filesystem, + ] + ); $this->getContainer()->addShared( 'minify_js_subscriber', Minify\JS\Subscriber::class ) - ->addArgument( $options ) - ->addArgument( $filesystem ); + ->addArguments( + [ + 'options', + $filesystem, + ] + ); $this->getContainer()->addShared( 'ie_conditionals_subscriber', IEConditionalSubscriber::class ); } } diff --git a/inc/Engine/Plugin/ServiceProvider.php b/inc/Engine/Plugin/ServiceProvider.php index 1bc3ab0f99..3dd6d903fb 100644 --- a/inc/Engine/Plugin/ServiceProvider.php +++ b/inc/Engine/Plugin/ServiceProvider.php @@ -1,6 +1,10 @@ getContainer()->add( 'plugin_renewal_notice', RenewalNotice::class ) - ->addArgument( $this->getContainer()->get( 'user' ) ) - ->addArgument( $this->getContainer()->get( 'template_path' ) . '/plugins/' ); - - $this->getContainer()->addShared( 'plugin_updater_common_subscriber', UpdaterApiCommonSubscriber::class ) - ->addArgument( + ->addArguments( [ - 'site_url' => home_url(), - 'plugin_version' => WP_ROCKET_VERSION, - 'settings_slug' => WP_ROCKET_SLUG, - 'settings_nonce_key' => WP_ROCKET_PLUGIN_SLUG, - 'plugin_options' => $this->getContainer()->get( 'options' ), + 'user', + new StringArgument( $this->getContainer()->get( 'template_path' ) . '/plugins/' ), ] ); - + $this->getContainer()->addShared( 'plugin_updater_common_subscriber', UpdaterApiCommonSubscriber::class ) + ->addArgument( + new ArrayArgument( + [ + 'site_url' => home_url(), + 'plugin_version' => WP_ROCKET_VERSION, + 'settings_slug' => WP_ROCKET_SLUG, + 'settings_nonce_key' => WP_ROCKET_PLUGIN_SLUG, + 'plugin_options' => $this->getContainer()->get( 'options' ), + ] + ) + ); $this->getContainer()->addShared( 'plugin_information_subscriber', InformationSubscriber::class ) ->addArgument( - [ - 'plugin_file' => WP_ROCKET_FILE, - ] + new ArrayArgument( + [ + 'plugin_file' => WP_ROCKET_FILE, + ] + ) ); - $this->getContainer()->addShared( 'plugin_updater_subscriber', UpdaterSubscriber::class ) - ->addArgument( $this->getContainer()->get( 'plugin_renewal_notice' ) ) - ->addArgument( + ->addArguments( [ - 'plugin_file' => WP_ROCKET_FILE, - 'plugin_version' => WP_ROCKET_VERSION, - 'vendor_url' => WP_ROCKET_WEB_MAIN, - 'icons' => [ - '2x' => WP_ROCKET_ASSETS_IMG_URL . 'icon-256x256.png', - '1x' => WP_ROCKET_ASSETS_IMG_URL . 'icon-128x128.png', - ], + 'plugin_renewal_notice', + new ArrayArgument( + [ + 'plugin_file' => WP_ROCKET_FILE, + 'plugin_version' => WP_ROCKET_VERSION, + 'vendor_url' => WP_ROCKET_WEB_MAIN, + 'icons' => [ + '2x' => WP_ROCKET_ASSETS_IMG_URL . 'icon-256x256.png', + '1x' => WP_ROCKET_ASSETS_IMG_URL . 'icon-128x128.png', + ], + ] + ), ] ); } diff --git a/inc/Engine/Preload/Activation/ServiceProvider.php b/inc/Engine/Preload/Activation/ServiceProvider.php index 51e492fd17..6ef624771d 100755 --- a/inc/Engine/Preload/Activation/ServiceProvider.php +++ b/inc/Engine/Preload/Activation/ServiceProvider.php @@ -3,12 +3,10 @@ namespace WP_Rocket\Engine\Preload\Activation; -use WP_Filesystem_Direct; use WP_Rocket\Dependencies\League\Container\ServiceProvider\AbstractServiceProvider; use WP_Rocket\Engine\Preload\Controller\{PreloadUrl, Queue}; use WP_Rocket\Engine\Preload\Database\Queries\Cache as CacheQuery; use WP_Rocket\Engine\Preload\Database\Tables\Cache as CacheTable; -use WP_Rocket\Logger\Logger; class ServiceProvider extends AbstractServiceProvider { /** @@ -43,29 +41,28 @@ public function provides( string $id ): bool { * @return void */ public function register(): void { - $options = $this->getContainer()->get( 'options' ); - $this->getContainer()->add( 'preload_cache_table', CacheTable::class ); $this->getContainer()->get( 'preload_cache_table' ); - $this->getContainer()->add( 'wp_direct_filesystem', WP_Filesystem_Direct::class ) - ->addArgument( [] ); $this->getContainer()->add( 'preload_cache_query', CacheQuery::class ) - ->addArgument( new Logger() ); + ->addArgument( 'logger' ); $this->getContainer()->add( 'preload_queue', Queue::class ); - - $cache_query = $this->getContainer()->get( 'preload_cache_query' ); - $queue = $this->getContainer()->get( 'preload_queue' ); - $this->getContainer()->add( 'preload_url_controller', PreloadUrl::class ) - ->addArgument( $options ) - ->addArgument( $queue ) - ->addArgument( $cache_query ) - ->addArgument( $this->getContainer()->get( 'wp_direct_filesystem' ) ); - + ->addArguments( + [ + 'options', + 'preload_queue', + 'preload_cache_query', + rocket_direct_filesystem(), + ] + ); $this->getContainer()->add( 'preload_activation', Activation::class ) - ->addArgument( $this->getContainer()->get( 'preload_url_controller' ) ) - ->addArgument( $queue ) - ->addArgument( $cache_query ) - ->addArgument( $options ); + ->addArguments( + [ + 'preload_url_controller', + 'preload_queue', + 'preload_cache_query', + 'options', + ] + ); } } diff --git a/inc/Engine/Preload/Links/ServiceProvider.php b/inc/Engine/Preload/Links/ServiceProvider.php index d68be1b287..5ccd84432b 100644 --- a/inc/Engine/Preload/Links/ServiceProvider.php +++ b/inc/Engine/Preload/Links/ServiceProvider.php @@ -1,4 +1,6 @@ getContainer()->get( 'options' ); - $this->getContainer()->addShared( 'preload_links_admin_subscriber', AdminSubscriber::class ) - ->addArgument( $options ); + ->addArgument( 'options' ); $this->getContainer()->addShared( 'preload_links_subscriber', Subscriber::class ) - ->addArgument( $options ) + ->addArgument( 'options' ) ->addArgument( rocket_direct_filesystem() ); } } diff --git a/inc/Engine/Preload/ServiceProvider.php b/inc/Engine/Preload/ServiceProvider.php index 8c29dd4083..5623d729cb 100755 --- a/inc/Engine/Preload/ServiceProvider.php +++ b/inc/Engine/Preload/ServiceProvider.php @@ -3,7 +3,6 @@ namespace WP_Rocket\Engine\Preload; -use WP_Filesystem_Direct; use WP_Rocket\Dependencies\League\Container\ServiceProvider\AbstractServiceProvider; use WP_Rocket\Engine\Preload\Activation\Activation; use WP_Rocket\Engine\Preload\Admin\Settings; @@ -15,7 +14,6 @@ use WP_Rocket\Engine\Preload\Frontend\FetchSitemap; use WP_Rocket\Engine\Preload\Frontend\SitemapParser; use WP_Rocket\Engine\Preload\Frontend\Subscriber as FrontEndSubscriber; -use WP_Rocket\Logger\Logger; use WP_Rocket_Mobile_Detect; /** @@ -28,6 +26,7 @@ class ServiceProvider extends AbstractServiceProvider { * @var array */ protected $provides = [ + 'mobile_detect', 'preload_queue', 'sitemap_parser', 'fetch_sitemap_controller', @@ -64,101 +63,105 @@ public function provides( string $id ): bool { * @return void */ public function register(): void { - $options = $this->getContainer()->get( 'options' ); - - $this->getContainer()->add( 'preload_mobile_detect', WP_Rocket_Mobile_Detect::class ); - - $this->getContainer()->add( 'wp_direct_filesystem', WP_Filesystem_Direct::class ) - ->addArgument( [] ); - $wp_file_system = $this->getContainer()->get( 'wp_direct_filesystem' ); - + $this->getContainer()->add( 'mobile_detect', WP_Rocket_Mobile_Detect::class ); $this->getContainer()->add( 'preload_caches_table', CacheTable::class ); $this->getContainer()->add( 'preload_caches_query', CacheQuery::class ) - ->addArgument( new Logger() ); + ->addArgument( 'logger' ); $this->getContainer()->get( 'preload_caches_table' ); - $cache_query = $this->getContainer()->get( 'preload_caches_query' ); - $this->getContainer()->add( 'preload_queue', Queue::class ); - $queue = $this->getContainer()->get( 'preload_queue' ); - $this->getContainer()->add( 'preload_url_controller', PreloadUrl::class ) - ->addArgument( $options ) - ->addArgument( $queue ) - ->addArgument( $cache_query ) - ->addArgument( $wp_file_system ); - - $preload_url_controller = $this->getContainer()->get( 'preload_url_controller' ); - + ->addArguments( + [ + 'options', + 'preload_queue', + 'preload_caches_query', + rocket_direct_filesystem(), + ] + ); $this->getContainer()->add( 'homepage_crawler', CrawlHomepage::class ); - $crawl_homepage = $this->getContainer()->get( 'homepage_crawler' ); - $this->getContainer()->add( 'sitemap_parser', SitemapParser::class ); - $sitemap_parser = $this->getContainer()->get( 'sitemap_parser' ); - $this->getContainer()->add( 'fetch_sitemap_controller', FetchSitemap::class ) - ->addArgument( $sitemap_parser ) - ->addArgument( $queue ) - ->addArgument( $cache_query ); - - $fetch_sitemap_controller = $this->getContainer()->get( 'fetch_sitemap_controller' ); - + ->addArguments( + [ + 'sitemap_parser', + 'preload_queue', + 'preload_caches_query', + ] + ); $this->getContainer()->add( 'load_initial_sitemap_controller', LoadInitialSitemap::class ) - ->addArgument( $queue ) - ->addArgument( $cache_query ) - ->addArgument( $crawl_homepage ); - + ->addArguments( + [ + 'preload_queue', + 'preload_caches_query', + 'homepage_crawler', + ] + ); $this->getContainer()->add( 'preload_activation', Activation::class ) - ->addArgument( $preload_url_controller ) - ->addArgument( $queue ) - ->addArgument( $cache_query ) - ->addArgument( $options ); - + ->addArguments( + [ + 'preload_url_controller', + 'preload_queue', + 'preload_caches_query', + 'options', + ] + ); $this->getContainer()->add( 'preload_settings', Settings::class ) - ->addArgument( $options ) - ->addArgument( $preload_url_controller ) - ->addArgument( $this->getContainer()->get( 'load_initial_sitemap_controller' ) ) - ->addArgument( $this->getContainer()->get( 'preload_caches_table' ) ); - - $preload_settings = $this->getContainer()->get( 'preload_settings' ); - + ->addArguments( + [ + 'options', + 'preload_url_controller', + 'load_initial_sitemap_controller', + 'preload_caches_table', + ] + ); $this->getContainer()->add( 'check_finished_controller', CheckFinished::class ) - ->addArgument( $preload_settings ) - ->addArgument( $cache_query ) - ->addArgument( $queue ); - - $check_finished_controller = $this->getContainer()->get( 'check_finished_controller' ); - + ->addArguments( + [ + 'preload_settings', + 'preload_caches_query', + 'preload_queue', + ] + ); $this->getContainer()->addShared( 'preload_front_subscriber', FrontEndSubscriber::class ) - ->addArgument( $fetch_sitemap_controller ) - ->addArgument( $preload_url_controller ) - ->addArgument( $check_finished_controller ) - ->addArgument( $this->getContainer()->get( 'load_initial_sitemap_controller' ) ); - + ->addArguments( + [ + 'fetch_sitemap_controller', + 'preload_url_controller', + 'check_finished_controller', + 'load_initial_sitemap_controller', + ] + ); $this->getContainer()->add( 'preload_clean_controller', ClearCache::class ) - ->addArgument( $cache_query ); - - $clean_controller = $this->getContainer()->get( 'preload_clean_controller' ); - + ->addArgument( 'preload_caches_query' ); $this->getContainer()->addShared( 'preload_subscriber', Subscriber::class ) - ->addArgument( $options ) - ->addArgument( $this->getContainer()->get( 'load_initial_sitemap_controller' ) ) - ->addArgument( $cache_query ) - ->addArgument( $this->getContainer()->get( 'preload_activation' ) ) - ->addArgument( $this->getContainer()->get( 'preload_mobile_detect' ) ) - ->addArgument( $clean_controller ) - ->addArgument( $queue ); - + ->addArguments( + [ + 'options', + 'load_initial_sitemap_controller', + 'preload_caches_query', + 'preload_activation', + 'mobile_detect', + 'preload_clean_controller', + 'preload_queue', + ] + ); $this->getContainer()->addShared( 'preload_cron_subscriber', CronSubscriber::class ) - ->addArgument( $preload_settings ) - ->addArgument( $cache_query ) - ->addArgument( $preload_url_controller ); - + ->addArguments( + [ + 'preload_settings', + 'preload_caches_query', + 'preload_url_controller', + ] + ); $this->getContainer()->addShared( 'fonts_preload_subscriber', Fonts::class ) - ->addArgument( $options ) - ->addArgument( $this->getContainer()->get( 'cdn' ) ); - - $this->getContainer()->add( 'preload_admin_subscriber', AdminSubscriber::class ) - ->addArgument( $preload_settings ); + ->addArguments( + [ + 'options', + 'cdn', + ] + ); + $this->getContainer()->addShared( 'preload_admin_subscriber', AdminSubscriber::class ) + ->addArgument( 'preload_settings' ); } } diff --git a/inc/Engine/Saas/ServiceProvider.php b/inc/Engine/Saas/ServiceProvider.php index 784c0e3a78..9b9f9e1116 100644 --- a/inc/Engine/Saas/ServiceProvider.php +++ b/inc/Engine/Saas/ServiceProvider.php @@ -3,6 +3,7 @@ namespace WP_Rocket\Engine\Saas; +use WP_Rocket\Dependencies\League\Container\Argument\Literal\StringArgument; use WP_Rocket\Dependencies\League\Container\ServiceProvider\AbstractServiceProvider; use WP_Rocket\Engine\Saas\Admin\{AdminBar, Clean, Notices, Subscriber}; @@ -40,17 +41,29 @@ public function provides( string $id ): bool { * @return void */ public function register(): void { - $this->getContainer()->add( 'sass_admin_bar', Adminbar::class ) - ->addArgument( $this->getContainer()->get( 'options' ) ) - ->addArgument( $this->getContainer()->get( 'rucss_optimize_context' ) ) - ->addArgument( $this->getContainer()->get( 'template_path' ) . '/settings' ); - $this->getContainer()->add( 'sass_clean', Clean::class ); - $this->getContainer()->add( 'sass_notices', Notices::class ) - ->addArgument( $this->getContainer()->get( 'options' ) ) - ->addArgument( $this->getContainer()->get( 'beacon' ) ); + $this->getContainer()->add( 'saas_admin_bar', Adminbar::class ) + ->addArguments( + [ + 'options', + 'rucss_optimize_context', + new StringArgument( $this->getContainer()->get( 'template_path' ) ), + ] + ); + $this->getContainer()->add( 'saas_clean', Clean::class ); + $this->getContainer()->add( 'saas_notices', Notices::class ) + ->addArguments( + [ + 'options', + 'beacon', + ] + ); $this->getContainer()->addShared( 'saas_admin_subscriber', Subscriber::class ) - ->addArgument( $this->getContainer()->get( 'sass_admin_bar' ) ) - ->addArgument( $this->getContainer()->get( 'sass_clean' ) ) - ->addArgument( $this->getContainer()->get( 'sass_notices' ) ); + ->addArguments( + [ + 'saas_admin_bar', + 'saas_clean', + 'saas_notices', + ] + ); } } diff --git a/inc/Engine/Support/ServiceProvider.php b/inc/Engine/Support/ServiceProvider.php index e16d26a386..c2a344bf6f 100644 --- a/inc/Engine/Support/ServiceProvider.php +++ b/inc/Engine/Support/ServiceProvider.php @@ -3,8 +3,8 @@ namespace WP_Rocket\Engine\Support; -use WP_Rocket_Mobile_Detect; use WP_Rocket\Dependencies\League\Container\ServiceProvider\AbstractServiceProvider; +use WP_Rocket_Mobile_Detect; class ServiceProvider extends AbstractServiceProvider { /** @@ -37,20 +37,30 @@ public function provides( string $id ): bool { * @return void */ public function register(): void { - $options = $this->getContainer()->get( 'options' ); - $this->getContainer()->add( 'mobile_detect', WP_Rocket_Mobile_Detect::class ); $this->getContainer()->add( 'support_data', Data::class ) - ->addArgument( $options ); + ->addArgument( 'options' ); $this->getContainer()->add( 'support_rest', Rest::class ) - ->addArgument( $this->getContainer()->get( 'support_data' ) ) - ->addArgument( $options ); + ->addArguments( + [ + 'support_data', + 'options', + ] + ); $this->getContainer()->add( 'support_meta', Meta::class ) - ->addArgument( $this->getContainer()->get( 'mobile_detect' ) ) - ->addArgument( $options ); + ->addArguments( + [ + 'mobile_detect', + 'options', + ] + ); $this->getContainer()->addShared( 'support_subscriber', Subscriber::class ) - ->addArgument( $this->getContainer()->get( 'support_rest' ) ) - ->addArgument( $this->getContainer()->get( 'support_meta' ) ); + ->addArguments( + [ + 'support_rest', + 'support_meta', + ] + ); } } diff --git a/inc/Logger/ServiceProvider.php b/inc/Logger/ServiceProvider.php index 8b5c497675..c6ad9d1776 100644 --- a/inc/Logger/ServiceProvider.php +++ b/inc/Logger/ServiceProvider.php @@ -1,4 +1,5 @@ event_manager = new Event_Manager(); $this->container->addShared( 'event_manager', $this->event_manager ); - $this->options_api = new Options( 'wp_rocket_' ); - $this->container->add( 'options_api', $this->options_api ); + $this->container->add( 'options_api', Options::class ) + ->addArgument( new StringArgument( 'wp_rocket_' ) ); $this->container->addServiceProvider( new OptionsServiceProvider() ); $this->options = $this->container->get( 'options' ); @@ -204,15 +195,6 @@ private function init_admin_subscribers() { remove_action( 'imagify_assets_enqueued', 'imagify_dequeue_sweetalert_wprocket' ); } - $this->container->add( - 'settings_page_config', - [ - 'slug' => WP_ROCKET_PLUGIN_SLUG, - 'title' => WP_ROCKET_PLUGIN_NAME, - 'capability' => 'rocket_manage_options', - ] - ); - $this->container->addServiceProvider( new SettingsServiceProvider() ); $this->container->addServiceProvider( new EngineAdminServiceProvider() ); $this->container->addServiceProvider( new OptimizationAdminServiceProvider() ); @@ -286,19 +268,17 @@ private function init_valid_key_subscribers() { private function init_common_subscribers() { $this->container->addServiceProvider( new CapabilitiesServiceProvider() ); $this->container->addServiceProvider( new AddonServiceProvider() ); - $this->container->addServiceProvider( new VarnishServiceProvider() ); $this->container->addServiceProvider( new PreloadServiceProvider() ); $this->container->addServiceProvider( new PreloadLinksServiceProvider() ); $this->container->addServiceProvider( new CDNServiceProvider() ); $this->container->addServiceProvider( new Common_Subscribers() ); - $this->container->addServiceProvider( new ThirdPartyServiceProvider() ); $this->container->addServiceProvider( new HostingsServiceProvider() ); $this->container->addServiceProvider( new PluginServiceProvider() ); + $this->container->addServiceProvider( new DynamicListsServiceProvider() ); $this->container->addServiceProvider( new DelayJSServiceProvider() ); $this->container->addServiceProvider( new RUCSSServiceProvider() ); $this->container->addServiceProvider( new HeartbeatServiceProvider() ); - $this->container->addServiceProvider( new DynamicListsServiceProvider() ); $this->container->addServiceProvider( new LicenseServiceProvider() ); $this->container->addServiceProvider( new ThemesServiceProvider() ); $this->container->addServiceProvider( new APIServiceProvider() ); @@ -311,6 +291,7 @@ private function init_common_subscribers() { $this->container->addServiceProvider( new PerformanceHintsServiceProvider() ); $this->container->addServiceProvider( new LRCServiceProvider() ); $this->container->addServiceProvider( new MediaFontsServiceProvider() ); + $this->container->addServiceProvider( new ThirdPartyServiceProvider() ); $common_subscribers = [ 'license_subscriber', diff --git a/inc/ThirdParty/Hostings/ServiceProvider.php b/inc/ThirdParty/Hostings/ServiceProvider.php index 82de2e72e8..61dfe187a1 100644 --- a/inc/ThirdParty/Hostings/ServiceProvider.php +++ b/inc/ThirdParty/Hostings/ServiceProvider.php @@ -1,4 +1,5 @@ getContainer()->get( 'options' ); - - $this->getContainer() - ->addShared( 'mobile_subscriber', Mobile_Subscriber::class ); - $this->getContainer() - ->addShared( 'elementor_subscriber', Elementor::class ) - ->addArgument( $options ) - ->addArgument( rocket_direct_filesystem() ) - ->addArgument( $this->getContainer()->get( 'delay_js_html' ) ); - $this->getContainer() - ->addShared( 'woocommerce_subscriber', WooCommerceSubscriber::class ) - ->addArgument( $this->getContainer()->get( 'delay_js_html' ) ); - $this->getContainer() - ->addShared( 'syntaxhighlighter_subscriber', SyntaxHighlighter_Subscriber::class ); - $this->getContainer() - ->addShared( 'ngg_subscriber', NGG_Subscriber::class ); - $this->getContainer() - ->addShared( 'smush_subscriber', Smush::class ) - ->addArgument( $this->getContainer()->get( 'options_api' ) ) - ->addArgument( $this->getContainer()->get( 'options' ) ); - $this->getContainer() - ->addShared( 'imagify_webp_subscriber', Imagify_Subscriber::class ) - ->addArgument( $options ); - $this->getContainer() - ->addShared( 'shortpixel_webp_subscriber', ShortPixel_Subscriber::class ) - ->addArgument( $options ); - $this->getContainer() - ->addShared( 'ewww_webp_subscriber', EWWW_Subscriber::class ) - ->addArgument( $options ); - $this->getContainer() - ->addShared( 'optimus_webp_subscriber', Optimus_Subscriber::class ); - $this->getContainer() - ->addShared( 'bigcommerce_subscriber', BigCommerce::class ); - $this->getContainer() - ->addShared( 'beaverbuilder_subscriber', BeaverBuilder::class ); - $this->getContainer() - ->addShared( 'amp_subscriber', AMP::class ) - ->addArgument( $this->getContainer()->get( 'cdn_subscriber' ) ); - $this->getContainer() - ->addShared( 'simple_custom_css', SimpleCustomCss::class ) - ->addArgument( WP_ROCKET_CACHE_BUSTING_PATH )->addArgument( WP_ROCKET_CACHE_BUSTING_URL ); - $this->getContainer() - ->addShared( 'pdfembedder', PDFEmbedder::class ); - $this->getContainer() - ->addShared( 'mod_pagespeed', ModPagespeed::class ); - $this->getContainer() - ->addShared( 'adthrive', Adthrive::class ); - $this->getContainer() - ->addShared( 'autoptimize', Autoptimize::class ) - ->addArgument( $options ); - $this->getContainer() - ->addShared( 'wp-meteor', WPMeteor::class ); - $this->getContainer() - ->addShared( 'revolution_slider_subscriber', RevolutionSlider::class ); - $this->getContainer() - ->addShared( 'wordfence_subscriber', WordFenceCompatibility::class ); - $this->getContainer() - ->addShared( 'ezoic', Ezoic::class ); - $this->getContainer() - ->addShared( 'thirstyaffiliates', ThirstyAffiliates::class ); - $this->getContainer() - ->addShared( 'pwa', PWA::class ); - $this->getContainer() - ->addShared( 'yoast_seo', Yoast::class ); - $this->getContainer() - ->addShared( 'convertplug', ConvertPlug::class ); - $this->getContainer() - ->addShared( 'unlimited_elements', UnlimitedElements::class ); - $this->getContainer() - ->addShared( 'inline_related_posts', InlineRelatedPosts::class ); - $this->getContainer() - ->addShared( 'wpml', WPML::class ); - $this->getContainer()->add( 'cloudflare_plugin_facade', CloudflareFacade::class ); - $this->getContainer() - ->addShared( 'cloudflare_plugin_subscriber', Cloudflare::class ) - ->addArgument( $options ) - ->addArgument( $this->getContainer()->get( 'options_api' ) ) - ->addArgument( $this->getContainer()->get( 'beacon' ) ) - ->addArgument( $this->getContainer()->get( 'cloudflare_plugin_facade' ) ); - $this->getContainer() - ->addShared( 'jetpack', Jetpack::class ) - ->addArgument( $options ); - $this->getContainer() - ->addShared( 'convertplug', ConvertPlug::class ); - $this->getContainer() - ->addShared( 'rank_math_seo', RankMathSEO::class ); - $this->getContainer() - ->addShared( 'all_in_one_seo_pack', AllInOneSEOPack::class ) - ->addArgument( $options ); - $this->getContainer() - ->addShared( 'seopress', SEOPress::class ) - ->addArgument( $options ); - $this->getContainer() - ->addShared( 'the_seo_framework', TheSEOFramework::class ) - ->addArgument( $options ); - $this->getContainer() - ->addShared( 'rocket_lazy_load', RocketLazyLoad::class ); - $this->getContainer() - ->addShared( 'the_events_calendar', TheEventsCalendar::class ); - $this->getContainer() - ->addShared( 'perfmatters', Perfmatters::class ); - $this->getContainer() - ->addShared( 'rapidload', RapidLoad::class ); - $this->getContainer() - ->addShared( 'weglot', Weglot::class ); + $this->getContainer()->addShared( 'mobile_subscriber', Mobile_Subscriber::class ); + $this->getContainer()->addShared( 'elementor_subscriber', Elementor::class ) + ->addArguments( + [ + 'options', + rocket_direct_filesystem(), + 'delay_js_html', + ] + ); + $this->getContainer()->addShared( 'woocommerce_subscriber', WooCommerceSubscriber::class ) + ->addArgument( 'delay_js_html' ); + $this->getContainer()->addShared( 'syntaxhighlighter_subscriber', SyntaxHighlighter_Subscriber::class ); + $this->getContainer()->addShared( 'ngg_subscriber', NGG_Subscriber::class ); + $this->getContainer()->addShared( 'smush_subscriber', Smush::class ) + ->addArguments( + [ + 'options_api', + 'options', + ] + ); + $this->getContainer()->addShared( 'imagify_webp_subscriber', Imagify_Subscriber::class ) + ->addArgument( 'options' ); + $this->getContainer()->addShared( 'shortpixel_webp_subscriber', ShortPixel_Subscriber::class ) + ->addArgument( 'options' ); + $this->getContainer()->addShared( 'ewww_webp_subscriber', EWWW_Subscriber::class ) + ->addArgument( 'options' ); + $this->getContainer()->addShared( 'optimus_webp_subscriber', Optimus_Subscriber::class ); + $this->getContainer()->addShared( 'bigcommerce_subscriber', BigCommerce::class ); + $this->getContainer()->addShared( 'beaverbuilder_subscriber', BeaverBuilder::class ); + $this->getContainer()->addShared( 'amp_subscriber', AMP::class ) + ->addArgument( 'cdn_subscriber' ); + $this->getContainer()->addShared( 'simple_custom_css', SimpleCustomCss::class ) + ->addArguments( + [ + new StringArgument( rocket_get_constant( 'WP_ROCKET_CACHE_BUSTING_PATH', '' ) ), + new StringArgument( rocket_get_constant( 'WP_ROCKET_CACHE_BUSTING_URL', '' ) ), + ] + ); + $this->getContainer()->addShared( 'pdfembedder', PDFEmbedder::class ); + $this->getContainer()->addShared( 'mod_pagespeed', ModPagespeed::class ); + $this->getContainer()->addShared( 'adthrive', Adthrive::class ); + $this->getContainer()->addShared( 'autoptimize', Autoptimize::class ) + ->addArgument( 'options' ); + $this->getContainer()->addShared( 'wp-meteor', WPMeteor::class ); + $this->getContainer()->addShared( 'revolution_slider_subscriber', RevolutionSlider::class ); + $this->getContainer()->addShared( 'wordfence_subscriber', WordFenceCompatibility::class ); + $this->getContainer()->addShared( 'ezoic', Ezoic::class ); + $this->getContainer()->addShared( 'thirstyaffiliates', ThirstyAffiliates::class ); + $this->getContainer()->addShared( 'pwa', PWA::class ); + $this->getContainer()->addShared( 'yoast_seo', Yoast::class ); + $this->getContainer()->addShared( 'convertplug', ConvertPlug::class ); + $this->getContainer()->addShared( 'unlimited_elements', UnlimitedElements::class ); + $this->getContainer()->addShared( 'inline_related_posts', InlineRelatedPosts::class ); + $this->getContainer()->addShared( 'wpml', WPML::class ); + $this->getContainer()->add( 'cloudflare_plugin_facade', CloudflareFacade::class ); + $this->getContainer()->addShared( 'cloudflare_plugin_subscriber', Cloudflare::class ) + ->addArguments( + [ + 'options', + 'options_api', + 'beacon', + 'cloudflare_plugin_facade', + ] + ); + $this->getContainer()->addShared( 'jetpack', Jetpack::class ) + ->addArgument( 'options' ); + $this->getContainer()->addShared( 'convertplug', ConvertPlug::class ); + $this->getContainer()->addShared( 'rank_math_seo', RankMathSEO::class ); + $this->getContainer()->addShared( 'all_in_one_seo_pack', AllInOneSEOPack::class ) + ->addArgument( 'options' ); + $this->getContainer()->addShared( 'seopress', SEOPress::class ) + ->addArgument( 'options' ); + $this->getContainer()->addShared( 'the_seo_framework', TheSEOFramework::class ) + ->addArgument( 'options' ); + $this->getContainer()->addShared( 'rocket_lazy_load', RocketLazyLoad::class ); + $this->getContainer()->addShared( 'the_events_calendar', TheEventsCalendar::class ); + $this->getContainer()->addShared( 'perfmatters', Perfmatters::class ); + $this->getContainer()->addShared( 'rapidload', RapidLoad::class ); + $this->getContainer()->addShared( 'weglot', Weglot::class ); $this->getContainer()->addShared( 'translatepress', TranslatePress::class ); $this->getContainer()->addShared( 'wpgeotargeting', WPGeotargeting::class ); $this->getContainer()->addShared( 'contactform7', ContactForm7::class ); diff --git a/inc/classes/ServiceProvider/class-common-subscribers.php b/inc/classes/ServiceProvider/class-common-subscribers.php index ab94157a1a..6c09a6b73c 100644 --- a/inc/classes/ServiceProvider/class-common-subscribers.php +++ b/inc/classes/ServiceProvider/class-common-subscribers.php @@ -1,4 +1,6 @@