phpDocumentor/ReflectionCommon
59.6
Adequate · 19 September 2026
219
lines of production code
PHP
primary language
1
measurement over time
What this system is
This system is the foundational library for the phpDocumentor Reflection project, providing core interfaces and value objects for parsing PHP code. It establishes the essential data structures, such as Fully Qualified Structural Element Names (Fqsen) and source locations, along with factory patterns for converting file inputs into project objects. The repository is configured with comprehensive tooling for static analysis, code style checking, and unit testing to ensure reliability across PHP 7.4 and 8.0 environments.
Features
Initial project scaffolding with standardized QA and build tooling
The repository has been initialized with a comprehensive set of configuration files to establish a standardized development and quality assurance workflow. This includes a Makefile for orchestrating tasks such as code style checks (PHP\_CodeSniffer), static analysis (PHPStan, Psalm), and testing (PHPUnit), alongside specific configuration files for each tool (phpcs.xml.dist, phpstan.neon, psalm.xml, phpunit.xml.dist). Additional configurations include PHAR management via Phive (phive.xml), PHP Mess Detector rules (phpmd.xml.dist), YAML linting (.yamllint.yaml), and updated .gitignore and .gitattributes files to manage version control artifacts and export-ignores.
(repo-wide) · high confidence
Initial release of phpDocumentor Reflection library core interfaces and value objects
This change introduces the foundational components of the phpDocumentor Reflection library, establishing the core data structures and factory patterns used for parsing PHP code. It adds value objects for Fully Qualified Structural Element Names (Fqsen) and source code locations (Location), alongside interfaces defining the contract for API elements (Element), file inputs (File), and project outputs (Project). Additionally, it provides the ProjectFactory interface, which standardizes how sets of files are converted into project objects, enabling consistent parsing workflows across different implementations.
src · high confidence
Test coverage
Added unit tests for Fqsen parsing and formatting
Added a new test suite for the Fqsen class that validates correct parsing of fully qualified structural element names (including namespaces, functions, constants, classes, interfaces, traits, methods, and properties) and ensures invalid formats throw exceptions. The tests also verify the string representation of Fqsen instances.
tests · high confidence
Dependencies
Initial project setup with PHP 7.4/8.0 support and dev tooling
This change introduces the initial composer configuration for the phpdocumentor/reflection-common library, establishing support for PHP 7.4 and 8.0. It sets up the development environment by including PHPUnit 9.5, PHPStan 1.8, and Psalm 4.25 as dev dependencies, and configures a platform override to ensure consistent static analysis against PHP 7.4.1.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Baseline
- First survey — no prior run to compare against. CAI 60.
Lenses
- Code Health 100
- Architecture 69
- Maturity 48
- Readiness 61
- Security 87
Changes since last survey
- 182 commits — 171 feature/other, 11 fixes
By area
- (root) — 85 commits
- (repo) — 54 commits
- .github/workflows — 18 commits
- src/Fqsen.php — 8 commits
- src/Element.php — 5 commits
- src/ProjectFactory.php — 5 commits
- src/File.php — 2 commits
- src/Project.php — 2 commits
- .github/dependabot.yml — 1 commit
- src/Location.php — 1 commit
- tests/unit — 1 commit
Notable commits
- fix: CS: various fixes
- fix: Defensive coding fix
- fix: Revert "update PHP versions on appveyor"
- fix: Revert previous change based on discussion
- fix: code style fixes
- fix: ecs fixes
- fix: fix docblock error
- fix: fix name of coveralls phar
- fix: fix phive coveralls
- fix: fix phpunit phar download
- fix: phpstan fix
- change: .gitignore: ignore PHPUnit cache file
- change: Add Location
- change: Add composer cache
- change: Add gitattributes file
- change: Add github workflow
- change: Add hyphen in package name
- change: Add php 8 to build matrix
- change: Add yaml lint config
- change: Added missing require block
- …and 162 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
phpDocumentor/ReflectionCommon was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 19 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit ee15a5a2022c8383906b225055e9496a6a5e6e3b — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-13a154b7f5d1.