projek-xyz/container

a dead-simple PSR-11 psr/container implementation with flexible service registration

Maintainers

Package info

github.com/projek-xyz/container

pkg:composer/projek-xyz/container

Fund package maintenance!

feryardiant

Statistics

Installs: 831

Dependents: 2

Suggesters: 0

Stars: 1

Open Issues: 0

v1.1.0 2026-05-16 12:34 UTC

This package is auto-updated.

Last update: 2026-05-20 17:43:43 UTC


README

Version Lisence Actions Status Coverage Status SymfonyInsight Grade

Simple yet Flexible PSR-11 Container Implementation

This tiny library aims to provide a dead-simple PSR-11 implementation with flexible service registration.

Features

  • PSR-11 Compliant: Fully implements the PSR-11 ContainerInterface.
  • Autowiring: Automatically resolves dependencies for constructors and callables using type-hints or parameter names.
  • Flexible Registration: Register services using closures, class names, instances, or even class-method pairs.
  • Service Extension: Easily modify or wrap existing services using the extend() method.
  • On-the-fly Resolution: Create instances without adding them to the container stack using make().
  • PSR-14 Event Lifecycle: Fully supports PSR-14 event dispatching for intercepting and filtering container operations.
  • Container Awareness: Automatically inject the container into services that implement ContainerAware.
  • Lightweight: Minimal dependencies (only PSR-11 and PSR-14 interfaces) and a small footprint.

Installation

Use Composer

$ composer require projek-xyz/container --prefer-dist

Documentation

Documentations and usages available on wiki

License

This library is open-sourced software licensed under MIT license.