HEX
Server: LiteSpeed
System: Linux server334.web-hosting.com 4.18.0-553.124.4.lve.el8.x86_64 #1 SMP Fri May 15 13:02:13 UTC 2026 x86_64
User: richfield (1256)
PHP: 8.2.31
Disabled: NONE
Upload Files
File: /home/richfield/www/rich/vendor/php-flasher/flasher/Container/FlasherContainer.php
<?php

/*
 * This file is part of the PHPFlasher package.
 * (c) Younes KHOUBZA <younes.khoubza@gmail.com>
 */

namespace Flasher\Prime\Container;

/**
 * @internal
 */
final class FlasherContainer
{
    /**
     * @var self|null
     */
    private static $instance = null;

    /**
     * @var ContainerInterface
     */
    private static $container;

    private function __construct(ContainerInterface $container)
    {
        self::$container = $container;
    }

    /**
     * @param string $id
     *
     * @return mixed
     *
     * @throws \LogicException
     */
    public static function create($id)
    {
        if (null === self::$instance) {
            throw new \LogicException('Container is not initialized yet. Container::init() must be called with a real container.');
        }

        return self::$container->get($id);
    }

    /**
     * @return void
     */
    public static function init(ContainerInterface $container)
    {
        if (null !== self::$instance) {
            return;
        }

        self::$instance = new self($container);
    }
}