ergebnis/classy

提供用于查找classy构造(类、枚举、接口和特质)的工具。

1.6.0 2023-11-27 16:46 UTC

README

Integrate Merge Release Renew

Code Coverage Type Coverage

Latest Stable Version Total Downloads Monthly Downloads

此项目提供了一个composer包,用于查找classy构造(枚举接口特质)。

安装

运行

composer require ergebnis/classy

使用

从源代码收集classy构造

使用Classy\Constructs::fromSource()从源代码中收集classy构造

<?php

declare(strict_types=1);

use Ergebnis\Classy;

$source = <<<'PHP'
<?php

namespace Example;

class Foo {}

enum Bar {}

interface Baz {}

trait Qux {}
PHP;

$constructs = Classy\Constructs::fromSource($source);

$names = array_map(static function (Classy\Construct $construct): string {
    return $construct->name();
}, $constructs);

var_dump($names); // ['Example\Bar', 'Example\Baz', 'Example\Foo', 'Example\Qux']

从目录收集classy构造

使用Classy\Constructs::fromDirectory()从目录中收集classy构造

<?php

declare(strict_types=1);

use Ergebnis\Classy;

$constructs = Classy\Constructs::fromDirectory(__DIR__ . '/example');

$names = array_map(static function (Classy\Construct $construct): string {
    return $construct->name();
}, $constructs);

var_dump($names); // ['Example\Bar', 'Example\Bar\Baz', 'Example\Foo\Bar\Baz']

变更日志

此项目的维护者将此项目的重大更改记录在变更日志中。

贡献

此项目的维护者建议遵循贡献指南

行为准则

此项目的维护者要求贡献者遵守行为准则

一般支持政策

此项目的维护者提供有限的支持。

您可以通过赞助 @localheinz请求此项目的相关服务发票来支持此项目的维护。

PHP版本支持政策

此项目支持具有活跃和安全支持的PHP版本。

此项目的维护者在其初始发布后添加对PHP版本的支持,并在其达到安全支持结束时停止支持该PHP版本。

安全政策

此项目有一个安全政策

许可

此项目使用MIT许可

致谢

Constructs中找到PHP文件中类的算法已从Zend\File\ClassFileLocator(最初以BSD-3-Clause许可)中采用。

社交

在Twitter上关注@localheinz@ergebnis