Download the PHP package ride/lib-dependency without Composer
On this page you can find all versions of the php package ride/lib-dependency. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download ride/lib-dependency
More information about ride/lib-dependency
Files in ride/lib-dependency
Package lib-dependency
Short Description Dependency injection library of the Ride framework
License MIT
Informations about the package lib-dependency
Ride: Dependency Injection Library
Dependency injection library of the PHP Ride framework.
This module can create objects and invoke callbacks with dynamic argument injection.
Read more about the dependency injection pattern on Wikipedia.
What's In This Library
Dependency
The Dependency class is used to define your class instances. You can tell what interfaces a class implements so the DependencyInjector knows when to use this instance. Define method calls to build up your instance as you need it, ready to work.
When you have multiple instances of a class, you can set an id to the dependency to specify each instance.
Dependencies can be tagged to retrieve a dependency subset for a specified interface.
Instead of literally constructing the object, a dependency can also be defined as being constructed by a factory.
DependencyInjector
The DependencyInjector is the facade of this library. It has different getters to retrieve a single or multiple instances. Dependencies are requested by interface, optionally an id, or for multiple instances, tag(s).
When a requested interface, or instance dependency, is not defined in the container, an attempt is made to automatically construct the instance.
DependencyContainer
The DependencyContainer is like it says, a container of dependencies. All your definitions are kept here for the dependency injector to use as it's source.
DependencyArgumentParser
When defining method calls for your dependencies, you can pass arguments to those calls. You have different type of arguments. This library defines the following types by default: null, scalar, array, dependency and call.
By implementing the DependencyArgumentParser interface, you can create your own argument types. Ride will add the parameter and route type with the ride/app and ride/web modules.
Code Sample
Check this code sample to see the possibilities of this library:
Installation
You can use Composer to install this library.