sebk/small-class-manipulator

此包已被 弃用 并不再维护。作者建议使用 small/class-manipulator 包代替。
此包的最新版本(1.0.0)没有可用的许可证信息。

1.0.0 2023-01-03 02:07 UTC

This package is auto-updated.

Last update: 2023-01-25 18:23:25 UTC


README

此库允许您读取和解析包含类的 PHP 文件到 PHP 对象。

然后您可以轻松地添加或删除组件并重写带有修改的文件。

迁移

此库已迁移到 framagit 项目。

https://packagist.org.cn/packages/small/class-manipulator 可用新的 composer 包

未来的提交将在 framagit 上进行。

此存储库将在几个月后删除。

解析和生成类

操纵器实例化

要解析一个类,您必须实例化 ClassManipulator

$classManipulator = new ClassManipulator([
        'rootDir' => __DIR__ . '/../data',
        'selectors' => [
            'test' => [
                'testing' => [
                    'namespace' => 'DataTest\Testing',
                    'path' => 'DataTest',
                ], 'empty' => [
                    'namespace' => 'Empty',
                    'path' => 'Empty',
                ],
            ]
        ],
    ]);

"rootDir" 参数是您的 "src" 目录。

选择器允许您通过类别隔离命名空间参数。这里我们只注入了一个 "test" 选择器。

在测试选择器中,我们可以有我们想要的任意数量的命名空间,每个命名空间必须包含一个命名空间和相应的目录路径。

解析

现在您可以解析一个类了

$classFile = $this->classManipulator->getClass('test', \Empty\Testing\TestClass::class);

这将返回一个 ClassFile

单元测试

要运行单元测试,您需要安装 docker 和 docker-compose

$ apt-get install docker docker-compose

然后进入库的根目录并运行

$ docker-compose up -d --build

如果测试失败,命令将返回错误。

在开发过程中,您可以在 docker-compose.yml 中将 "BUILD" 参数设置为 0,然后容器将不会停止,允许您使用以下命令运行测试

$ bin/test