kcs/class-finder

实用类,帮助发现其他类/命名空间

0.5.3 2024-08-30 12:42 UTC

This package is auto-updated.

Last update: 2024-08-30 12:48:50 UTC


README

实用类,帮助发现其他类/命名空间

Tests codecov

安装

$ composer require kcs/class-finder

使用

Finder 帮助您在项目中发现类。

最常见的方法是使用提供的 ComposerFinder。这将使用 composer 自动生成的类加载器搜索类,并相应地解析 PSR-* 命名空间。

https://alekitto.github.io/class-finder/ 的文档中了解更多信息

基本用法

use Kcs\ClassFinder\Finder\ComposerFinder;

$finder = new ComposerFinder();
foreach ($finder as $className => $reflector) {
    // Do magic things...
}

过滤

您可以使用 FinderInterface 提供的方法来过滤类

  • implementationOf(array $interfaces): 找到实现所有给定接口的类。您可以传递一个接口作为字符串。
  • subclassOf(string $superClass): 找到给定类的所有子类。
  • annontatedBy(string $annotationClass): 找到在类文档块中具有给定注解的所有类。
  • withAttribute(string $attributeClass): 仅查找具有给定属性应用于类的所有类(PHP >= 8.0)。
  • in(array $dirs): 仅在给定的目录中搜索。
  • inNamespace(array $namespaces): 仅在给定的命名空间中搜索。
  • filter(callable $callback): 自定义过滤回调。
  • pathFilter(callable $callback): 加载文件的自定义过滤回调。

许可证

此库在 MIT 许可证下发布。

贡献

我们始终欢迎贡献。请随时打开 PR 或提交问题。

感谢阅读
A.