ergebnis / classy
提供用于查找classy构造(类、枚举、接口和特质)的工具。
1.6.0
2023-11-27 16:46 UTC
Requires
- php: ~8.1.0 || ~8.2.0 || ~8.3.0
- ext-tokenizer: *
Requires (Dev)
- ergebnis/composer-normalize: ^2.39.0
- ergebnis/license: ^2.3.0
- ergebnis/php-cs-fixer-config: ~6.12.0
- ergebnis/phpunit-slow-test-detector: ^2.4.0
- fakerphp/faker: ^1.23.0
- infection/infection: ~0.27.8
- phpunit/phpunit: ^10.4.2
- psalm/plugin-phpunit: ~0.18.4
- rector/rector: ~0.18.11
- vimeo/psalm: ^5.16.0
README
此项目提供了一个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。