thecodingmachine / class-explorer
查找您所有类及其它信息列表。
v1.1.0
2020-01-13 08:49 UTC
Requires
- php: >=7.1
- ext-hash: *
- mouf/classname-mapper: ^1
- psr/simple-cache: ^1
Requires (Dev)
- maglnet/composer-require-checker: ^1.0
- php-coveralls/php-coveralls: ^2.1
- phpstan/phpstan: ^0.12
- phpunit/phpunit: ^7.2.7
- squizlabs/php_codesniffer: ^3.2.3
- symfony/cache: ^4.1.4
- thecodingmachine/phpstan-strict-rules: ^0.12
This package is auto-updated.
Last update: 2024-09-13 20:39:39 UTC
README
在您的项目中发现PHP类。
此项目的目标是提供一系列类,以实现您自己的项目中的类/接口/特质发现。
目前,该项目只包含一个基于扫描文件的实现。
GlobClassExplorer
GlobClassExplorer
将在给定的命名空间中查找所有类。
用法
$explorer = new GlobClassExplorer('\\Some\\Namespace\\', $psr16Cache, $cacheTtl); $classes = $explorer->getClasses(); // Will return: ['Some\Namespace\Foo', 'Some\Namespace\Bar', ...]
此探索器
- 仅在您的项目(不是在供应商目录)中查找类
- 假设如果一个文件存在于PSR-0或PSR-4目录中,则该类是可用的(假设文件遵守PSR-1)
- 不尝试自动加载类
- 非常快速,即使在没有缓存的情况下
默认情况下,GlobClassExplorer
将递归地加载子命名空间中的类。您可以通过传递第五个参数为false
来阻止它递归加载类
$explorer = new GlobClassExplorer('\\This\\Namespace\\Only\\', $psr16Cache, $cacheTtl, null, false);
您还可以使用getClassMap
方法获取类映射。类映射是一个数组,将找到的类的名称(键)与它们链接的文件(文件的真实路径)关联起来。
$classMap = $explorer->getClassMap(); foreach ($classMap as $class => $file) { echo 'Class '.$class.' found in file '.$file; }