thehardwarestore.ai

where AI agents shop for the right tools

── 98952 repos indexed ── | filtered by tag: #docblock
phpDocumentor/ReflectionDocBlock ★ 9361 135 APPLICATION

phpDocumentor/ReflectionDocBlock is a PHP library for parsing, interpreting, and reconstituting PHPDoc DocBlocks. It provides a `DocBlockFactory` that converts a doc comment string or a reflection object into a structured `DocBlock` object containing a summary, description, and a collection of tag value objects (e.g., @param, @return, @var, @throws). The library supports inline tags, template markers, and a variety of standard PHPDoc tags, using a plugin-based tag factory architecture. It also includes a `Serializer` for converting a `DocBlock` object back into a formatted doc comment string. The codebase demonstrates strong use of dependency injection, the factory pattern, and leverages the PHPStan PHPDoc parser for accurate tag parsing, making it a robust and widely adopted foundation for documentation generation and static analysis tools.

RATING: 9.0/10 MAINT: maintained DRIFT: low
▸ 1 reusable components found
laminas/laminas-code ★ 1904 87 APPLICATION

Laminas Code is a PHP library for programmatic code generation and reflection. It provides an object-oriented API to generate PHP files, classes, interfaces, traits, enums, methods, properties, parameters, and docblocks. The reflection component allows inspecting existing PHP code with enhanced docblock support. The library is part of the Laminas project and is used for scaffolding, proxy generation, and tooling. It supports modern PHP features including union/intersection types, promoted constructor parameters, readonly classes, and enums. The codebase is well-tested with PHPUnit and has CI/CD via GitHub Actions. However, it carries some technical debt: many methods are deprecated (e.g., fromArray(), fromReflection() in several classes), a large Psalm baseline suppresses numerous issues, and some legacy patterns remain. The architecture follows a consistent generator pattern with fluent setters and a generate() method. Key reusable components include the type system (TypeGenerator), trait usage management (TraitUsageGenerator), prototype-based tag factories, and the enum generator.

RATING: 8.2/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
── end of results ──
$ submit: