borkness / phproxy
一个简单的特性,允许使用类似于Laravel Facades的静态代理
v1.0.0
2020-10-06 20:09 UTC
Requires (Dev)
- php-di/php-di: ^6.2
- phpunit/phpunit: ^9.3
This package is auto-updated.
Last update: 2024-09-07 04:22:20 UTC
README
Phproxy是一个类,可以用来静态调用底层类的成员,类似于Laravel中的Facades。
使用方法
初始设置
为了使用Phproxy,您必须实现一个PSR-11兼容的容器。您可以使用以下实现:
- PHP-DI(推荐)
- League Container
- Aura-DI
安装并创建容器后,您需要调用setInstanceResolver()
方法,并将容器作为参数传递。
\Borkness\Phproxy\Phproxy::setInstanceResolver($container);
创建代理类
要创建代理类,您需要扩展Phproxy抽象类,并重写getClassIdentifier()
方法。您必须添加在设置DI容器时使用的类字符串。
示例
<?php namespace App\Proxies; use Borkness\Phproxy\Phproxy; class Database extends Phproxy { public static function getClassIdentifier() { return 'db'; } }