Inpsyde\MultilingualPress\Service\AddOnlyContainer::share PHP Method

share() public method

Stores the given value or factory callback with the given name, and defines it to be accessible even after the container has been bootstrapped.
Since: 3.0.0
public share ( string $name, mixed $value ) : static
$name string The name of a value or factory callback.
$value mixed The value or factory callback.
return static Container instance.
    public function share($name, $value)
    {
        $this->offsetSet($name, $value);
        $this->shared[$name] = true;
        return $this;
    }

Usage Example

/**
 * Bootstraps MultilingualPress.
 *
 * @since   3.0.0
 * @wp-hook plugins_loaded
 *
 * @return bool Whether or not MultilingualPress was bootstrapped successfully.
 */
function bootstrap()
{
    $container = new AddOnlyContainer();
    $container->share('multilingualpress.properties', new ImmutablePluginProperties(__FILE__));
    $multilingualpress = new MultilingualPress($container);
    $multilingualpress->register_service_provider(new CoreServiceProvider())->register_service_provider(new APIServiceProvider())->register_service_provider(new AssetServiceProvider())->register_service_provider(new DatabaseServiceProvider())->register_service_provider(new FactoryProvider())->register_service_provider(new InstallationServiceProvider())->register_service_provider(new Module\AlternativeLanguageTitleInAdminBar\ServiceProvider())->register_service_provider(new Module\CustomPostTypeSupport\ServiceProvider())->register_service_provider(new Module\Trasher\ServiceProvider())->register_service_provider(new Module\UserAdminLanguage\ServiceProvider())->register_service_provider(new SiteDuplicationServiceProvider())->register_service_provider(new Widget\WidgetServiceProvider());
    /**
     * MultilingualPress functions.
     */
    require_once __DIR__ . '/src/functions.php';
    return $multilingualpress->bootstrap();
}