lordmonoxide / facade
Pseudo-static accessors for Phi bindings
1.0.1
2015-05-14 00:20 UTC
Requires
- php: >=5.4.0
- lordmonoxide/phi: 1.*
Requires (Dev)
- satooshi/php-coveralls: dev-master
This package is auto-updated.
Last update: 2024-10-15 05:53:14 UTC
README
Phi Facades
Facades are a way to make Phi bindings feel more natural.
Installation
Composer
Composer is the recommended method of installation for Facade.
$ composer require lordmonoxide/facade
GitHub
Facade may be downloaded from GitHub.
Features
Pseudo-Static Access To Phi Singletons
A common use-case for Phi Facades is logging:
namespace Vendor\Package\Logging; class Logger { public function warning($text) { // ... } }
$logger = new Vendor\Package\Logging\Logger; $phi = LordMonoxide\Phi\Phi::instance(); $phi->bind('core.log', $logger);
use LordMonoxide\Facade\Facade; class Log extends Facade { protected static $_binding = 'core.log'; }
Once the facade is set up, the Vendor\Package\Logging
singleton can be accessed like this:
Log::warning('Something bad happened!');
Phi Facades can even be used to create a facade for Phi:
$phi = LordMonoxide\Phi\Phi::instance(); $phi->bind('phi', $phi);
use LordMonoxide\Facade\Facade; class Phi extends Facade { protected static $_binding = 'phi'; }
This will allow Phi to be accessed as such:
Phi::bind('Bar', 'Foo'); $foo = Phi::make('Bar');
Phi Custom Resolvers
If you are using Phi 1.2.0 or greater, Phi facades will work seamlessly with custom resolvers.