adachsoft/code-search-php
最新稳定版本:0.1.0
Composer 安装命令:
composer require adachsoft/code-search-php
包简介
README 文档
README
PHP library that provides code search capabilities based on nikic/php-parser.
It parses PHP source files into AST and exposes a high-level, contract-based API for searching classes, methods and type relations.
Features
- Class search by FQCN and kind (class/interface/trait/enum)
- Method search by declaring type, name and visibility
- Type relations search (
extends/implements) - In-memory pagination over search results
- Contract-first public API via
adachsoft/code-search-contract - Designed to be embedded in CLI tools or long-running services
Installation
Install via Composer:
composer require adachsoft/code-search-php
Usage
The main entry point is AdachSoft\\CodeSearchPhp\\PhpParserCodeSearchFacade.
For convenience, you can build a fully configured instance using the factory:
<?php
use AdachSoft\CodeSearchContract\PublicApi\Dto\CodebaseRefDto;
use AdachSoft\CodeSearchContract\PublicApi\Dto\Match\TextMatchDto;
use AdachSoft\CodeSearchContract\PublicApi\Dto\Option\OptionValueMap;
use AdachSoft\CodeSearchContract\PublicApi\Dto\PageRequestDto;
use AdachSoft\CodeSearchContract\PublicApi\Dto\Query\ClassSearchQueryDto;
use AdachSoft\CodeSearchContract\PublicApi\Collection\QueryFilterCollection;
use AdachSoft\CodeSearchContract\PublicApi\ValueObject\MatchAlgorithmId;
use AdachSoft\CodeSearchPhp\PhpParserCodeSearchFacadeFactory;
$factory = new PhpParserCodeSearchFacadeFactory();
$facade = $factory->create();
$codebase = new CodebaseRefDto(__DIR__ . '/src');
$page = new PageRequestDto(50, null);
$match = new TextMatchDto(
'App\\Domain\\SomeClass',
new MatchAlgorithmId('exact'),
new OptionValueMap([]),
);
$query = new ClassSearchQueryDto(
$codebase,
$page,
$match,
null,
new QueryFilterCollection([]),
);
$resultPage = $facade->findClasses($query);
foreach ($resultPage->items as $classSymbol) {
echo $classSymbol->fqcn->value . PHP_EOL;
}
For more details on the public API contracts and DTOs, see
adachsoft/code-search-contract.
Versioning
This library follows semantic versioning. The first tagged release is 0.1.0.
See CHANGELOG.md for a list of changes between versions.
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 3
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-03-13