Container.php 693 Bytes
<?php

declare(strict_types=1);

namespace ACP;

use AC\Asset\Location\Absolute;
use AC\Entity\Plugin;
use AC\Vendor\Psr\Container\ContainerInterface;
use LogicException;

class Container
{

    private static $instance;

    public static function set_container(ContainerInterface $container): void
    {
        if (self::$instance) {
            throw new LogicException('Container is already set.');
        }

        self::$instance = $container;
    }

    public static function get_location(): Absolute
    {
        return self::$instance->get(Absolute::class);
    }

    public static function get_plugin(): Plugin
    {
        return self::$instance->get(Plugin::class);
    }

}