Download the PHP package clementdecou/qube without Composer
On this page you can find all versions of the php package clementdecou/qube. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download clementdecou/qube
More information about clementdecou/qube
Files in clementdecou/qube
Package qube
Short Description Qube is a lightweight and simple dependency injection container.
License MIT
Informations about the package qube
Qube
Qube is a lightweight and simple dependency injection container.
Installation
You can install the package via composer:
Usage
Creating a container is a matter of creating a Container instance:
Or use the helper function:
It will return a unique instance of the container even if you call it multiple times.
Defining Services
Register a service with a unique identifier so that it can be retrieved later. Services can be objects or closures.
Defining Services with a factory
If a service has multiple dependencies you can define a factory for your service.
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.
Defining Services not shareable
By default, each time you get a service, the same instance is returned. If you want a different instance to be returned for all calls, use the share parameter.
Now, each call to 'my_service' returns a new instance of the service.
Defining Services with a tag
You can tag a service with a specific tag. This is useful when you want to retrieve multiple services with the same tag.
Retrieve a service
Retrieve a previously registered service using its identifier.
Retrieve multiple services with tags
It will return a generator with all services tagged. You can iterate over it or use the iterator_to_array
function to get an array.
Defining Parameters
Defining a parameter allows to ease the configuration of your container from the outside and to store global values:
Retrieve a parameter
Retrieve a previously registered parameter using its identifier.
Extending a Container
If you use the same libraries over and over, you might want to reuse some services from one project to the next one. Package your services into a provider by implementing Qube\DependencyInjection\ServiceProviderInterface:
Then register your provider into the container:
Using the builder / or configuration file
You can use the builder to create your container. It will allow you to use a configuration file to define your services and parameters.
The configuration file must return an array with the following structure:
Testing
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
- Clément Décou
- All Contributors
License
The MIT License (MIT). Please see License File for more information.