borkness / phproxy

一个简单的特性,允许使用类似于Laravel Facades的静态代理

v1.0.0 2020-10-06 20:09 UTC

This package is auto-updated.

Last update: 2024-09-07 04:22:20 UTC


README

StyleCI Build Status

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';
    }
}