Inpsyde\MultilingualPress\Core\CoreServiceProvider::register PHP Method

register() public method

Registers the provided services on the given container.
Since: 3.0.0
public register ( Inpsyde\MultilingualPress\Service\Container $container ) : void
$container Inpsyde\MultilingualPress\Service\Container Container object.
return void
    public function register(Container $container)
    {
        $container['multilingualpress.base_path_adapter'] = function () {
            return new CachingBasePathAdapter();
        };
        $container->share('multilingualpress.internal_locations', function () {
            return new InternalLocations();
        });
        // TODO: Make a regular not shared service as soon as everything else has been adapted. Or remove from here?
        $container->share('multilingualpress.module_manager', function () {
            // TODO: Maybe store the option name somewhere? But then again, who else really needs to know it?
            // TODO: Migration: The old option name was "state_modules", and it stored "on" and "off" values, no bools.
            return new Module\NetworkOptionModuleManager('multilingualpress_modules');
        });
        $container['multilingualpress.plugin_settings_page'] = function (Container $container) {
            return SettingsPage::with_parent(SettingsPage::ADMIN_NETWORK, SettingsPage::PARENT_NETWORK_SETTINGS, __('MultilingualPress', 'multilingual-press'), __('MultilingualPress', 'multilingual-press'), 'manage_network_options', 'multilingualpress', $container['multilingualpress.plugin_settings_page_view']);
        };
        $container['multilingualpress.plugin_settings_page_view'] = function (Container $container) {
            return new PluginSettingsPage\View($container['multilingualpress.module_manager'], $container['multilingualpress.update_plugin_settings_nonce'], $container['multilingualpress.asset_manager']);
        };
        $container['multilingualpress.plugin_settings_updater'] = function (Container $container) {
            return new PluginSettingsPage\PluginSettingsUpdater($container['multilingualpress.module_manager'], $container['multilingualpress.update_plugin_settings_nonce'], $container['multilingualpress.plugin_settings_page']);
        };
        $container['multilingualpress.post_request_data_manipulator'] = function () {
            return new FullRequestDataManipulator(RequestDataManipulator::METHOD_POST);
        };
        $container['multilingualpress.relationship_control_search'] = function () {
            return new RequestAwareSearch();
        };
        $container['multilingualpress.relationship_control_search_controller'] = function (Container $container) {
            return new SearchController($container['multilingualpress.relationship_control_search_results_view']);
        };
        $container['multilingualpress.relationship_control_search_results_view'] = function (Container $container) {
            return new StatusAwareSearchResultsView($container['multilingualpress.relationship_control_search']);
        };
        $container['multilingualpress.relationship_control_view'] = function (Container $container) {
            return new RelationshipControlView($container['multilingualpress.relationship_control_search_results_view'], $container['multilingualpress.asset_manager']);
        };
        $container['multilingualpress.relationship_controller'] = function (Container $container) {
            return new RelationshipController($container['multilingualpress.content_relations']);
        };
        $container->share('multilingualpress.request', function () {
            return new ConditionalAwareRequest();
        });
        $container['multilingualpress.update_plugin_settings_nonce'] = function () {
            return new WPNonce('update_plugin_settings');
        };
    }
CoreServiceProvider