Download the PHP package trifs/di without Composer
On this page you can find all versions of the php package trifs/di. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Package di
Short Description A simple dependency injection container
License MIT
Homepage https://github.com/3fs/php-di
Informations about the package di
trifs/DI
trifs/DI is a simple Dependency Injection Container for PHP, based on awesome Pimple internals. It is, however, behaving as an object, not as an array. It also provides less features, namely protecting parameters, modifying services after creation and fetching the service creation function.
Installation
To include trifs/DI in your project, add it to your composer.json
:
Usage
Creating a container is as simple as instantiating it:
As many other dependency injection containers, trifs\DI is able to manage two different kind of data; services and parameters.
Defining parameters
Defining services
A service is an object that does something as part of a larger system, for example: database connection, session handler, etc.
Services are defined by anonymous functions that return an instance of an object:
Notice that the anonymous function has access to the current container instance, allowing references to other services or parameters.
As objects are only created when you get them, the order of the definitions does not matter, and there is no performance penalty.
Using the defined services is also very easy:
Extending a container
If you use the same libraries over and over, you might want to reuse some services from one project to the other; package your services into a provider by implementing trifs\DI\ServiceProviderInterface
:
And to register it:
Defining factory services
By default, each time you get a service, trifs\DI returns the same instance of it. If you want a different instance to be returned for all calls, wrap your anonymous function with the factory()
method: