delboy1978uk/proxy-generator

通过生成包装类使用您自己的接口。

dev-master 2016-11-28 01:51 UTC

This package is auto-updated.

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


README

Build Status Code Coverage Scrutinizer Code Quality
一个用于获取第三方库以实现您接口的代理生成器。只需告诉它您希望替换的接口,它就会搜索并生成一个扩展它但实现您自己接口的类。##示例用 My\Awesome\Lib\SomeInterface 替换 Some\Symfony\Lib\SomeInterface,将得到以下结果:####之前

<?php

namespace Some\Symfony\Lib;

class UsefulClass implements SomeInterface 
{
    // etc
}

####之后

<?php

namespace My\Awesome\Lib;

use Some\Symfony\Lib\UsefulClass as ThirdPartyUsefulClass;

class UsefulClass extends ThirdPartyUsefulClass implements SomeInterface 
{
}

对于实现该接口的每个类,我们将递归地遍历供应商类并生成扩展它们的类。这些类也将实现我们的接口。

<?php

namespace My\Awesome\Lib\Number;

use Some\Symfony\Lib\Number\UsefulNuberClass as ThirdPartyUsefulNumberClass;
use My\Awesome\Lib\SomeInterface;

class UsefulClass extends ThirdPartyUsefulNumberClass implements SomeInterface 
{
}

##安装使用 composer 安装

$ composer require delboy1978uk/proxy-generator

##使用如果您需要编程方式使用,可以使用 Del\ProxyGenerator\Service\ProxyGeneratorService,或者可以使用 CLI 命令 bin/proxy-generator。

$ cd bin
$ ./proxy-generator 'VendorInterface' 'YourInterface' look/in/this/folder 'BaseVendorNamespace', 'YourBaseNamespace', 'relative/path/to/genarate', '/absolute/project/root/basedir'