Download the PHP package blast/facades without Composer
On this page you can find all versions of the php package blast/facades. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download blast/facades
More information about blast/facades
Files in blast/facades
Package facades
Short Description Minimize complexity and represent dependencies as generic facades.
License MIT
Homepage https://github.com/thephpleague/container
Informations about the package facades
Blast facades
Blast facades is aiming to minimize complexity and represent dependencies as generic facades. This package is part of Blast component collection.
This package is compliant with PSR-1, PSR-2 and PSR-4. If you notice compliance oversights, please send a patch via pull request.
This package is also supporting container-interop (PSR-11) and all container packages which are using container-interop.
Install
Via Composer
Usage
Initialize
First of all we need to tell FacadeFactory which container instance should be used. We could use thephpleague/container for example:
A bootstrap is looking like this:
Dealing with dependencies
We need to register a service to our container, for example with league/container.
There are several ways to now register this service with the container.
For a better transparency and design we recommend to pass an Interface or Contract FQCN as service id.
or
or
for more information please read league/container documentation
Creating and using a facade
A Facade should be an instance of AbstractFacade and should provide an accessor.
The accessor is the service identifier. It will be used to fetch the service in the container (via Interop\Container\ContainerInterface::get($accessor)
.
We could now call serivce methods from our facade, or the service instance itself.
Calling service instance
Calling service methods
or
or
or
You are also able to pass arguments. The method call itself is behaving like the call of original class.
Instance swaping
Sometimes service will be replaced by another service. As long as the service id is not changing, we don't need to modify anything in our facade.
Supporting projects
Projects using ContainerInterface
Change log
Please see CHANGELOG for more information what has changed recently.
Testing
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email :author_email instead of using the issue tracker.
Credits
- Marco Bunge
- All contributors
Special thanks
License
The MIT License (MIT). Please see License File for more information.