Download the PHP package tobento/service-resolver without Composer
On this page you can find all versions of the php package tobento/service-resolver. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download tobento/service-resolver
More information about tobento/service-resolver
Files in tobento/service-resolver
Package service-resolver
Short Description A resolver for building PHP applications.
License MIT
Homepage https://www.tobento.ch
Informations about the package service-resolver
Resolver Service
The Resolver Service is an abstraction layer of PSR-11 container.
Table of Contents
- Getting started
- Requirements
- Highlights
- Documentation
- Implementations
- Resolver Factory
- Resolver
- PSR-11
- Autowiring
- Definitions
- Make
- Call
- On
- Replace objects
- Modify objects
- Construct objects
- Call Methods
- Using Once
- Using Prototype
- Using Instanceof
- Using Priority
- Rule
- Container
- Credits
Getting started
Add the latest version of the resolver service project running this command.
Requirements
- PHP 8.0 or greater
Highlights
- Framework-agnostic, will work with any project
- Decoupled design
- Autowiring
Documentation
Implementations
Currently, there are the following implementations:
Resolver Factory
Resolver
PSR-11
Autowiring
The resolver resolves any dependencies by autowiring, except build-in parameters needs a definition to be resolved.
On union types parameter, the first resolvable parameter gets used if not set by definiton.
Definitions
By providing the resolved object:
By defining the missing parameters:
By using a closure:
You might configure which implementation to use:
Defining method calls: You will need only to define build-in parameters as others get autowired if you want to.
Prototype Definition:
You might declare the defintion as prototype, meaning returning always a new instance.
Make
The make() method works like get() except it will resolve the entry every time it is called.
Call
For more detail visit: service-autowire#call
On
With the on method, you may replace, modify or construct objects.
Replace objects
Replace object
You may replace the resolved object by simply declare a class:
Replace object by using a callable
You may replace the resolved object by using a callable. The first argument will always be the resolved object, but you can typehint any other object you may need next.
Modify objects
Modify object by using a callable
You may modify the resolved object by using a callable. The first argument will always be the resolved object, but you can typehint any other object you may need next.
Construct objects
Construct object by providing an array
You may wish to inject different implementations into each class or inject any primitive values.
Construct object by using a callable returning an array
You may wish to inject different implementations into each class or inject any primitive values by using a callable returning the resolve values. The first argument of the callable will always be the resolved object, but you can typehint any other object you may need next.
Call Methods
You may want to call methods after an object is resolved:
Declare as trait
You may calling methods when a class uses a trait:
Using Once
The on method is handled once as default. You may use the once method as to be always handled:
Using Prototype
You may using the prototype method returning always a new instance:
Using Instanceof
You may modify or replace objects when the object belongs to a specific class by using the instanceof method:
Using Priority
You may use the priority method to handle the execution order. The default priority is 1000, highest gets handled first:
Rule
You may add a rule by using the rule method:
Container
Credits
- Tobias Strub
- All Contributors