bapcat / facade
Phi 绑定的伪静态访问器
5.0
2024-05-28 19:55 UTC
Requires
- php: ^8.0
- ext-json: *
- bapcat/phi: ^2.0 | ^3.0 | ^4.0
- bapcat/propifier: ^3.0
- bapcat/tailor: ^0.6
Requires (Dev)
- phpunit/phpunit: ^9.5
- roave/security-advisories: dev-master
README
Phi 面板
面板是一种使 Phi 绑定感觉更自然的方法。
安装
Composer
Composer 是安装面板的推荐方法。
$ composer require bapcat/facade
GitHub
可以从 GitHub 下载面板。
功能
对 Phi 单例的伪静态访问
Phi 面板的一个常见用例是日志记录
namespace Vendor\Package\Logging; class Logger { public function warning($text) { // ... } }
$logger = new Vendor\Package\Logging\Logger; $phi = BapCat\Phi\Phi::instance(); $phi->bind('core.log', $logger);
use BapCat\Facade\Facade; class Log extends Facade { protected static $_binding = 'core.log'; }
一旦设置好面板,就可以像这样访问 Vendor\Package\Logging
单例
Log::warning('Something bad happened!');
Phi 面板甚至可以用来为 Phi 创建一个面板
$phi = BapCat\Phi\Phi::instance(); $phi->bind('phi', $phi);
use BapCat\Facade\Facade; class Phi extends Facade { protected static $_binding = 'phi'; }
这将允许像这样访问 Phi
Phi::bind('Bar', 'Foo'); $foo = Phi::make('Bar');
Phi 自定义解析器
如果你使用 Phi 1.2.0 或更高版本,Phi 面板将与自定义解析器无缝工作。