provides, true ); } /** * Registers the option array in the container * * @return void */ public function register(): void { $this->getContainer()->addShared( 'rucss_usedcss_table', UsedCSSTable::class ); $this->getContainer()->add( 'rucss_database', Database::class ) ->addArgument( 'rucss_usedcss_table' ); $this->getContainer()->add( 'rucss_settings', Settings::class ) ->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 ) ->addArguments( [ new StringArgument( rocket_get_constant( 'WP_ROCKET_USED_CSS_PATH', '' ) ), rocket_direct_filesystem(), ] ); $this->getContainer()->add( 'rucss_context', RUCSSContext::class ) ->addArguments( [ 'options', 'rucss_filesystem', ] ); $this->getContainer()->add( 'rucss_optimize_context', RUCSSOptimizeContext::class ) ->addArgument( 'options' ); $this->getContainer()->add( 'rucss_context_saas', RUCSSContextSaas::class ) ->addArgument( 'options' ); $this->getContainer()->add( 'rucss_manager', Manager::class ) ->addArguments( [ 'rucss_used_css_query', 'rucss_filesystem', 'rucss_context_saas', 'options', ] ); $this->getContainer()->addShared( 'rucss_factory', Factory::class ) ->addArguments( [ 'rucss_manager', 'rucss_usedcss_table', ] ); $this->getContainer()->add( 'rucss_used_css_controller', UsedCSSController::class ) ->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( 'rucss_settings' ); $this->getContainer()->addShared( 'rucss_admin_subscriber', AdminSubscriber::class ) ->addArguments( [ 'rucss_settings', 'rucss_database', 'rucss_used_css_controller', 'rucss_queue', ] ); $this->getContainer()->addShared( 'rucss_frontend_subscriber', FrontendSubscriber::class ) ->addArguments( [ 'rucss_used_css_controller', 'rucss_context', ] ); $this->getContainer()->addShared( 'rucss_cron_subscriber', CronSubscriber::class ) ->addArguments( [ 'job_processor', 'rucss_used_css_query', ] ); } }