/habemus

PSR-11 compatible dependency injection container

Primary LanguagePHPMIT LicenseMIT

Habemus

Build codecov Scrutinizer Code Quality Latest Version Software License

Habemus is a PSR-11 compatible dependency injection container. This package provides autowiring to implement Inversion of Control (IoC) containers for PHP.

Features

Habemus supports:

  • PSR-11 compatible.
  • Auto wiring (recursively through all dependencies)
  • Constructor injection.
  • Setter injection.
  • Property/constructor injection using PHP 8 Attributes.
  • Circular dependency detection.
  • Interfaces, Factories, Closures, Callbacks.
  • Delegated containers.
  • Container composite.
  • Service providers and lazy service providers.
  • Taggable services.
  • Shareable instances.
  • Variadic arguments in the constructor.
  • Aliasing.
  • Array Access.

Requirements

This package supports the following versions of PHP:

  • PHP 7.1
  • PHP 7.2
  • PHP 7.3
  • PHP 7.4
  • PHP 8.0

Install

Via Composer

$ composer require brenoroosevelt/habemus

Documentation

Read the full documentation.

Contributing

Please read the Contributing guide to learn about contributing to this project.

License

This project is licensed under the terms of the MIT license. See the LICENSE file for license rights and limitations.