konecnyjakub / container
A simple PSR-11 container
1.0.0
2025-02-22 15:52 UTC
Requires
- php: >=8.3.0
- psr/container: ^1.1 || ^2.0
Requires (Dev)
Provides
- psr/container-implementation: 1.0 | 2.0
This package is auto-updated.
Last update: 2025-02-22 16:33:15 UTC
README
This is a simple PSR-11 container.
Installation
The best way to install Container is via Composer. Just add konecnyjakub/container to your dependencies.
Quick start
<?php
declare(strict_types=1);
use Konecnyjakub\Container\SimpleContainer;
use stdClass;
$container = new SimpleContainer();
$service = new stdClass();
$service->var = "abc";
$container->set("one", $service);
$container->has("one"); // true
var_dump($container->get("one") === $service); // true
Advanced usage
This package provides a simple PSR-11 compliant container. It does not have any exciting features/options and frankly, there is little reason to use it a real application. Below are all the things that it can do.
<?php
declare(strict_types=1);
use Konecnyjakub\Container\SimpleContainer;
use stdClass;
$container = new SimpleContainer();
$container->isLocked(); // false
$container->has("one"); // false
$service = new stdClass();
$service->var = "abc";
$container->set("one", $service);
$container->has("one"); // true
var_dump($container->get("one") === $service); // true
$container->delete("one");
$container->has("one"); // false
$container->lock();
$container->isLocked(); // true
$container->set("one", $service); // throws an exception
$container->delete("one"); // throws an exception