<commit_before># Bauhaus PHP Package - DI

[![Latest Stable Version](https://poser.pugx.org/bauhaus/di/v/stable?format=flat-square)](https://packagist.org/packages/bauhaus/di)
[![Latest Unstable Version](https://poser.pugx.org/bauhaus/di/v/unstable?format=flat-square)](https://packagist.org/packages/bauhaus/di)
[![Total Downloads](https://poser.pugx.org/bauhaus/di/downloads?format=flat-square)](https://packagist.org/packages/bauhaus/di)
[![License](https://poser.pugx.org/bauhaus/di/license?format=flat-square)](LICENSE)

[![Build Status](https://img.shields.io/travis/bauhausphp/package-di/master.svg?style=flat-square)](https://travis-ci.org/bauhausphp/package-di)
[![Coverage Status](https://img.shields.io/coveralls/bauhausphp/package-di/master.svg?style=flat-square)](https://coveralls.io/github/bauhausphp/package-di?branch=master)
[![Codacy Badge](https://img.shields.io/codacy/e9884ae8a00f46f3bea9cdb565104569.svg?style=flat-square)](https://www.codacy.com/app/fefas/bauhausphp-package-di)

# Introduction

The goal of this package is to provide a simple way to register and to load
services that are the dependencies of other parts of your project code. In other
words, it is a  pragmatic implementation of the *Dependency Injection Container*
pattern that supports `shared`, `lazy` and `not shared`.

To understand how to use this *Dependency Injection Container*, read the
[unit tests](https://github.com/bauhausphp/package-di/blob/master/tests/unit/DependencyInjectionTest.php).

> You can have a behavior summary of this *Dependency Injection Container* by
> runing the tests using the `testdox` option:
>
> ```
> $ vendor/bin/phpunit -c tests/config/phpunit.xml --testdox<commit_msg>Fix badges and links on README<commit_after># Bauhaus PHP Package - DI

[![Latest Stable Version](https://poser.pugx.org/bauhaus/di/v/stable?format=flat-square)](https://packagist.org/packages/bauhaus/di)
[![Latest Unstable Version](https://poser.pugx.org/bauhaus/di/v/unstable?format=flat-square)](https://packagist.org/packages/bauhaus/di)
[![Total Downloads](https://poser.pugx.org/bauhaus/di/downloads?format=flat-square)](https://packagist.org/packages/bauhaus/di)
[![License](https://poser.pugx.org/bauhaus/di/license?format=flat-square)](LICENSE)

[![Build Status](https://img.shields.io/travis/bauhausphp/di/master.svg?style=flat-square)](https://travis-ci.org/bauhausphp/di)
[![Coverage Status](https://img.shields.io/coveralls/bauhausphp/di/master.svg?style=flat-square)](https://coveralls.io/github/bauhausphp/di?branch=master)
[![Codacy Badge](https://img.shields.io/codacy/e9884ae8a00f46f3bea9cdb565104569.svg?style=flat-square)](https://www.codacy.com/app/fefas/bauhausphp-di)

# Introduction

The goal of this package is to provide a simple way to register and to load
services that are the dependencies of other parts of your project code. In other
words, it is a  pragmatic implementation of the *Dependency Injection Container*
pattern that supports `shared`, `lazy` and `not shared`.

To understand how to use this *Dependency Injection Container*, read the
[unit tests](https://github.com/bauhausphp/package-di/blob/master/tests/unit/DependencyInjectionTest.php).

> You can have a behavior summary of this *Dependency Injection Container* by
> runing the tests using the `testdox` option:
>
> ```
> $ vendor/bin/phpunit -c tests/config/phpunit.xml --testdox
{'fraction_non_alphanumeric': 0.15122817401598107, 'fraction_numerical': 0.011837821840781295, 'mean_word_length': 5.746506986027944, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 13, 'https://': 28, 'lorem ipsum': 0, 'www.': 2, 'xml': 2}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4565876', 'n_tokens_mistral': 1158, 'n_tokens_neox': 1147, 'n_words': 216}